CREATE TABLE Grid(v1 SMALLINT NOT NULL CHECK (v1 > 0), v2 SMALLINT NOT NULL CHECK (v2 > 0), v_cover SMALLINT DEFAULT 0 NOT NULL,PRIMARY KEY (v1, v2), CHECK (v1 < v2));INSERT INTO Grid (v1, v2)VALUES (1, 2), (1, 4), (2, 3), (2, 5), (2, 6); CREATE VIEW Vertexes (v)ASSELECT v1, v_cover FROM GridUNIONSELECT v2, v_cover FROM Grid; CREATE VIEW Vertex_Degrees (v, degree)ASSELECT V.v, COUNT(*) AS degree FROM Grid AS G, Vertexes AS V WHERE V.v IN (G.v1, G.v2) GROUP BY V.v;
CREATE TABLE #Grid(v1 CHAR(1) NOT NULL, -- CHECK (v1 > 0), v2 CHAR(1) NOT NULL, -- CHECK (v2 > 0), PRIMARY KEY (v1, v2)--, --CHECK (v1 < v2));INSERT INTO #GridSELECT 'A', 'B'UNION ALL SELECT 'A', 'C'UNION ALL SELECT 'A', 'D'UNION ALL SELECT 'B', 'E'UNION ALL SELECT 'B', 'F'UNION ALL SELECT 'C', 'G'UNION ALL SELECT 'C', 'H'UNION ALL SELECT 'D', 'I'UNION ALL SELECT 'D', 'J'UNION ALL SELECT 'E', 'K'UNION ALL SELECT 'F', 'L'UNION ALL SELECT 'G', 'K'UNION ALL SELECT 'G', 'M'UNION ALL SELECT 'H', 'L'UNION ALL SELECT 'I', 'M'UNION ALL SELECT 'J', 'M'UNION ALL SELECT 'K', 'N'UNION ALL SELECT 'K', 'O'UNION ALL SELECT 'L', 'O'UNION ALL SELECT 'M', 'O' UNION ALL SELECT 'O', 'Q'UNION ALL SELECT 'Q', 'R'UNION ALL SELECT 'J', 'P'UNION ALL SELECT 'N', 'Q'UNION ALL SELECT 'N', 'R'UNION ALL SELECT 'P', 'S'UNION ALL SELECT 'P', 'T'UNION ALL SELECT 'Q', 'W'UNION ALL SELECT 'Q', 'U'UNION ALL SELECT 'R', 'U'UNION ALL SELECT 'R', 'V'UNION ALL SELECT 'S', 'V'UNION ALL SELECT 'S', 'R'UNION ALL SELECT 'T', 'V'UNION ALL SELECT 'T', 'Y'UNION ALL SELECT 'U', 'W'UNION ALL SELECT 'U', 'X'UNION ALL SELECT 'V', 'X'UNION ALL SELECT 'V', 'Y'UNION ALL SELECT 'X', 'W'UNION ALL SELECT 'W', 'Z'UNION ALL SELECT 'Y', 'Z'
V V,R,S,T,X,YQ Q,N,O,R,U,WM M,G,I,J,OK K,E,G,N,OP P,J,S,TL L,F,H,OD D,A,I,JC C,A,G,HB B,A,E,FZ Z,W,Y