清华大学出版社 ①在SQL中允许属性值为空值,当规定某一属性值不能 为空值时,在定义该属性时写上保留字 NOT NULL"obDI CREATE TABLE S (SNO CHAR(4)NOT NULL, 本例中规定 SNAME CHAR(20) NOT NULL 劳主碱怪 不能为空值 STATUS CHAR (10) 可以省略不写 ADDR CHAR (20) PRIMARY KEY(SNO))
①创建供应商关系S: 结构化查询语言 5.2.2 SQL数据定义DLL CREATE TABLE S (SNO CHAR(4) NOT NULL, SNAME CHAR(20) NOT NULL, STATUS CHAR(10), ADDR CHAR(20), PRIMARY KEY(SNO)); 供应商关系: S(SNO,SNAME,STATUS,ADDR) 主键是 供应商号 SNO 本例中规定 供应商号和 供应商名 不能取空值 当一个属性定义 为主键,其属性 不能为空值,所 以“NOT NULL” 可以省略不写。 在SQL中允许属性值为空值,当规定某一属性值不能 为空值时,在定义该属性时写上保留字“NOT NULL”
清华大学出版社 供应商关系:SSNQ, SNAME, STATUS, ADD R) 零件关系 P(PMO, PNAME,COLOR WEIGHT) 工程项目关系: JUNO /NAME,crY, BALANCE 感债况关系:N小QPcE 各属性的含义 零件号(PNO),零供名( PNAME、颤色 ( COLOR)、重量( WEIGHT)、单价(PRCE工 程项目号(NO)、工程项目名称(NAME)、城市 (cTY)、余额( BALANCE、供应数量(QTY)
各属性的含义: 零件号 ( PNO)、 零件名 ( PNAME)、 颜 色 (COLOR)、重量(WEIGHT)、单价(PRICE)、工 程项 目 号 ( JNO)、工 程 项目 名 称 ( JNAME)、城 市 (CITY)、余额(BALANCE)、供应数量(QTY)。 供 应 商 关 系 : S(SNO,SNAME,STATUS, ADDR) 零件关系: P(PNO,PNAME,COLOR, WEIGHT) 工程项目关系:J(JNO,JNAME,CITY,BALANCE) 供 应 情 况 关 系 : SPJ(SNO,PNO,JNO,PRICE, QTY) 结构化查询语言 5.2.2 SQL数据定义DLL
清华大学出版社 ②创建基本表P,J,SPJ: CREATE TABLE J NO CHAR(4)NOT NULL UNAME CHAR(20), CITY CHAR(20) BALANCE NUMERIC(, 2) PRIMARY KEY NOD CREATE TABLE P (PNO CHAR(4)NOT NULL PNAME CHAR(20) NOT NULL COLOR CHAR(8) WEIGHT SMALLINT PRIMARY KEY (PNOD
②创建基本表P,J,SPJ: 结构化查询语言 5.2.2 SQL数据定义DLL CREATE TABLE J (JNO CHAR(4) NOT NULL, JNAME CHAR(20), CITY CHAR(20), BALANCE NUMERIC(7,2), PRIMARY KEY (JNO)); CREATE TABLE P (PNO CHAR(4) NOT NULL, PNAME CHAR(20) NOT NULL, COLOR CHAR(8), WEIGHT SMALLINT, PRIMARY KEY (PNO));
化大学 定义中说明了五个属性 CRLATE TABLE SPJ( SNO CHAR4) NOT NULL(定长字符串) PNO CHAR(4)NOT NULL JNO CHAR(4)NO PRICE NUMERICO 小键SNO和其太韦S QTY SMALLINT 小辅PN和基木表P 外雜O和基本表J 定义中还使用了一个检查子句 CHECK对应 键) 指出供应数量QTY在0-1002间引(PNo), FOREIGN UNO) REFERENCES JUNO) CHECy 'QTY BETWEEN0AND10000(检查子句) 定义了三个外键
结构化查询语言 5.2.2 SQL数据定义DLL CREATE TABLE SPJ (SNO CHAR(4) NOT NULL,(定长字符串) PNO CHAR(4) NOT NULL, JNO CHAR(4) NOT NULL, PRICE NUMERIC(7,2),(定点数) QTY SMALLINT, (短整数) PRIMARY KEY (SNO,PNO,JNO), (主键) FOREIGN KEY (SNO) REFERENCES S(SNO), (外键) FOREIGN KEY (PNO) REFERENCES P(PNO), FOREIGN KEY (JNO) REFERENCES J(JNO), CHECK(QTY BETWEEN 0 AND 10000)); (检查子句) 定义中说明了五个属性 定义了三个外键 外键SNO和基本表S 外键中SNOPNO属性相对应 和基本表P 外键中PNOJNO属性相对应 和基本表J 定义中还使用了一个检查子句 中JNOCHECK 属性相对应 指出供应数量QTY在0-10000之间
清华大学出版社 (2)基本表结构的修改 ■基本表建立后,可根据需要增加或删除属性。 ①增加新的属性 句法 ALTER TABLE基本表名ADD新属性名新属性类型 例52在基本表S中增加一个电话号码(TELE)属性, 可用下列语句 ALTER TABLE S ADD TELE CHAR(12); 注意,新增加的属性不能定义为“ NOT NULL"。 基本表在增加一个属性后,原有元组在新增加的属 性列上的值都被定义为空值(NUL
(2)基本表结构的修改 ◼ 基本表建立后,可根据需要增加或删除属性。 ① 增加新的属性 句法: ALTER TABLE 基本表名 ADD 新属性名 新属性类型 ◼ 例5.2 在基本表S中增加一个电话号码(TELE)属性, 可用下列语句: ALTER TABLE S ADD TELE CHAR(12); ◼ 注意,新增加的属性不能定义为“NOT NULL” 。 ◼ 基本表在增加一个属性后,原有元组在新增加的属 性列上的值都被定义为空值(NULL)。 结构化查询语言 5.2.2 SQL数据定义DLL