ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/7/25 20:42:09ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£
Ò»¡¢ ʵÑéÄ¿µÄ
1¡¢ ÕÆÎÕʵÌåÍêÕûÐԵ͍ÒåºÍά»¤·½·¨£» 2¡¢ ÕÆÎÕ²ÎÕÕÍêÕûÐԵ͍ÒåºÍά»¤·½·¨£» 3¡¢ ÕÆÎÕÓû§×Ô¶¨ÒåÍêÕûÐԵ͍ÒåºÍά»¤·½·¨£»
¶þ¡¢ ʵÑéÄÚÈݺÍÒªÇó
1¡¢¶¨ÒåʵÌåÍêÕûÐÔ£¬É¾³ýʵÌåÍêÕûÐÔ¡£Äܹ»Ð´³öÁ½ÖÖ·½Ê½¶¨ÒåʵÌåÍêÕûÐÔµÄSQLÓï¾ä£º´´½¨±íʱ¶¨ÒåʵÌåÍêÕûÐÔ¡¢´´½¨±íºó¶¨ÒåʵÌåÍêÕûÐÔ¡£Éè¼ÆSQLÓï¾äÑéÖ¤ÍêÕûÐÔÔ¼ÊøÊÇ·ñÆð×÷Óá£
2¡¢¶¨Òå²ÎÕÕÍêÕûÐÔ£¬¶¨Òå²ÎÕÕÍêÕûÐÔµÄÎ¥¹æ´¦Àí£¬É¾³ý²ÎÕÕÍêÕûÐÔ¡£Ð´³öÁ½ÖÖ·½Ê½¶¨Òå²ÎÕÕÍêÕûÐÔµÄSQLÓï¾ä£º´´½¨±íʱ¶¨Òå²ÎÕÕÍêÕûÐÔ¡¢´´½¨±íºó¶¨Òå²ÎÕÕÍêÕûÐÔ¡£
3¡¢Õë¶Ô¾ßÌåÓ¦ÓÃÓïÒ壬ѡÔñNULL/NOT NULL¡¢DEFAULT¡¢UNIQUE¡¢CHECKµÈ£¬¶¨ÒåÊôÐÔÉϵÄÔ¼ÊøÌõ¼þ¡£
Èý¡¢ÊµÑé¹ý³Ì
1¡¢ÊµÌåÍêÕûÐÔʵÑé
£¨1£©´´½¨±íʱ¶¨ÒåʵÌåÍêÕûÐÔ(Áм¶ÊµÌåÍêÕûÐÔ) ¶¨Ò幩ӦÉ̱íµÄʵÌåÍêÕûÐÔ¡£ CREATE TABLE Supplier(
suppkey INSERT CONSTRAINT PK_supplier PRIMARY KEY, name CHAR(25),
address VARCHAR(40), nationkey INSERT, phone CHAR(15), acctbal REAL,
comment VARCHAR(101));
£¨2£©´´½¨±íʱ¶¨ÒåʵÌåÍêÕûÐÔ£¨±í¼¶ÊµÌåÍêÕûÐÔ£© ¶¨Ò幩ӦÉ̱íµÄʵÌåÍêÕûÐÔ¡£
CREATE TABLE Supplier( suppkey INSERT, name CHAR(25),
address VARCHAR(40), nationkey INSERT, phone CHAR(15), acctbal REAL,
comment VARCHAR(101),
CONSTRAINT PK_supplier PRIMARY KEY(suppkey));
£¨3£©´´½¨±íºó¶¨ÒåʵÌåÍêÕûÐÔ ¶¨Ò幩ӦÉÌ±í¡£
CREATE TABLE Supplier( suppkey INSERT, name CHAR(25),
address VARCHAR(40), nationkey INSERT, phone CHAR(15), acctbal REAL,
comment VARCHAR(101));
ALTER TABLE Supplier /*ÔÙÐ޸ũӦÉÌ±í£¬Ôö¼ÓʵÌåÍêÕûÐÔ*/ ADD CONSTRAINT PK_Supplier PRIMARY KEY(suppkey);
£¨4£©¶¨ÒåʵÌåÍêÕûÐÔ£¨Ö÷ÂëÓɶà¸öÊôÐÔ×é³É£© ¶¨Ò幩Ӧ¹ØÏµ±íµÄʵÌåÍêÕûÐÔ¡£
CREATE TABLE PartSupp( partkey INTEGER, suppkey INTEGER, availqty INTEGER, supplycost REAL,
comment VARCHAR(199),
PRIMARY KEy (partkey,suppkey));
/*Ö÷ÂëÓɶà¸öÊôÐÔ×é³É£¬ÊµÌåÍêÕûÐÔ±ØÐ붨ÒåÔÚ±í¼¶*/
£¨5£©Óжà¸öºòÑ¡Âëʱ¶¨ÒåʵÌåÍêÕûÐÔ
¶¨Òå¹ú¼Ò±íµÄʵÌåÍêÕûÐÔ£¬ÆäÖÐnationkeyºÍname¶¼ÊǺòÑ¡Â룬ѡÔñnationkey×÷ΪÖ÷Â룬nameÉ϶¨ÒåΨһÐÔÔ¼Êø¡£
CREATE TABLE nation (
nationkey INTEGERCONSTRAINT PK_nation PRIMARY KEY£¬ name CHAR (25) UNIQUE, regionkey INSERT,
comment VARCHAR(152));
£¨6£©É¾³ýʵÌåÍêÕûÐÔ É¾³ý¹ú¼ÒʵÌåµÄÖ÷Âë¡£
ALTER TABLE nation DROP CONSTRAINT PK_nation;
£¨7£©Ôö¼ÓÁ½ÌõÏàͬ¼Ç¼£¬Ñé֤ʵÌåÍêÕûÐÔÊÇ·ñÆð×÷Óà /*²åÈëÁ½ÌõÖ÷ÂëÏàͬµÄ¼Ç¼¾Í»áÎ¥·´ÊµÌåÍêÕûÐÔÔ¼Êø*/
INSERT INTO Supplier(suppkey,name,address,nationkey,phone,acctbal,comment) VALUES(11,'test1','test1',101,'12345678',0.0,'test1');
INSERT INTO Supplier(suppkey,name,address,nationkey,phone,acctbal,comment) VALUES(11,'test2','test2',102,'23456789',0.0,'test2');
2¡¢²ÎÕÕÍêÕûÐÔʵÑé
£¨1£©´´½¨±íʱ¶¨Òå²ÎÕÕÍêÕûÐÔ
Ïȶ¨ÒåµØÇø±íµÄʵÌåÍêÕûÐÔ£¬ÔÙ¶¨Òå¹ú¼Ò±íÉϵIJÎÕÕÍêÕûÐÔ¡£
CREATE TABLE region£¨
regionkey IINTEGER PRIMARY KEY£¬ name CHAR(25)£¬
comment VARCHAR(152));
CREATE TABLE nation(
nationkey IINTEGER PRIMARY KEY£¬ name CHAR(25),
regionkey INTEGER REFERENCES Region(regionkey),/*Áм¶²ÎÕÕÍêÕûÐÔ*/ comment VARCHAR(152)); »òÕß
CREATE TABLE nation(
nationkey INTEGER PRIMARY KEY£¬ name CHAR(25), regionkey INTEGER,
comment VARCHAR(152),
CONSTRAINT FK_Nation_regionkey FOREIGN KEY (regionkey) REFERENCES Region(regionkey));/*±í¼¶²ÎÕÕÍêÕûÐÔ*/
£¨2£©´´½¨±íºó¶¨Òå²ÎÕÕÍêÕûÐÔ ¶¨Òå¹ú¼Ò±íµÄ²ÎÕÕÍêÕûÐÔ¡£
CREATE TABLE nation(
nationkey INTEGER PRIMARY KEY, name CHAR(25), regionkey INTEGER,
comment VARCHAR(152));
ALTER TABLE Nation
FOREIGN KEY (regionkey)REFERENCES Region(regionkey);
£¨3£©¶¨Òå²ÎÕÕÍêÕûÐÔ£¨ÍâÂëÓɶà¸öÊôÐÔ×é³É£© ¶¨Òå¶©µ¥ÏîÄ¿±íµÄ²ÎÕÕÍêÕûÐÔ¡£
CREATE TABLE PartSupp( partkey INTEGER, suppkey INTEGER, availqty INTEGER, supplycost REAL,
comment VARCHAR(199),
PRIMARY KEy (partkey,suppkey));
CREATE TABLE Lineitem(
orderkey INTEGER REFERENCES Orders(orderkey), partkey INTEGER REFERENCES Part(partkey),
suppkey INTEGER REFERENCES Supplier(suppkey), linenumber INTEGER, quantity REAL£¬ extendedprice REAL, discount REAL£¬ tax REAL£¬
returnflag CHAR(1), linestatus CHAR(1), shipdate DATE, commitdate DATE, receiptdate DATE,
shipinstruct CHAR(25), shipmode CHAR(10), comment VARCHAR(44),
PRIMARY KEY (orderkey,linenumber),
FOREIGN KEY (partkey,suppkey) REFERENCES PartSupp(partkey,suppkey));
£¨4£©¶¨Òå²ÎÕÕÍêÕûÐÔµÄÎ¥Ô¼´¦Àí
¶¨Òå¹ú¼Ò±íµÄ²ÎÕÕÍêÕûÐÔ£¬µ±É¾³ý»òÐ޸ı»²ÎÕÕ±íʱ£¬ÉèÖòÎÕÕ±íÖÐÏàÓ¦¼Ç¼µÄֵΪ¿ÕÖµ¡£
CREATE TABLE nation(
nationkey INTEGER PRIMARY KEY, name CHAR(25), regionkey INTEGER,
comment VARCHAR(152),
CONSTRAINT FK_Nation_regionkey FOREIGN KEY (regionkey)