例1:建立学生管理DB中的基本表: 学生(学号,姓名,性别,年龄,班级号) 课程(课程号,课称名,学分,周学时) 考试(学号,课程号,成绩) create table学生(学号char(6), 姓名char(10), 性别char(2), 年龄 smallint, 班级号char(5)); create table课程(课程号char(6), 课称名char(20) 学分 smallint, 周学时 smallint); create table考试(学号char(6), 课程号char(6), 成绩 smallint); 食
例1:建立学生管理DB中的基本表: • 学生(学号,姓名,性别,年龄,班级号) • 课程(课程号,课称名,学分,周学时) • 考试(学号,课程号,成绩) create table 学生 (学号 char(6), 姓名 char(10), 性别 char(2), 年龄 smallint, 班级号 char(5)); create table 课程 (课程号 char(6), 课称名 char(20), 学分 smallint, 周学时 smallint) ; create table 考试 (学号 char(6), 课程号 char(6), 成绩 smallint);
2.完整性约束 (1) PRIMARY KEY约束 (2) FOREIGN KEY约束 (3) UNIQUE约束 (4) CHECK约束 (5) NOT NULL或NL约束 完整性约束的用途是限制输入到基本表中的值的范围
2.完整性约束 ⑴ PRIMARY KEY约束 ⑵ FOREIGN KEY约束 ⑶ UNIQUE约束 ⑷ CHECK约束 ⑸ NOT NULL或NULL约束 • 完整性约束的用途是限制输入到基本表中的值的范围
(1) PRIMARY KEY约束 也称主关键字约束,是实体完整性约束。 该约束用于定义主关键字,它能保证主关键字的惟一性和非空性。 ① PRIMARY KEY约束直接写在列名及其类型之后 例2:在创建学生基本表时,将学号定义为主关键字,列级 PRIMARY KEY约束。 create table学生(学号char(6), primary key, 姓名char(10), 性别char(2), 年龄 smallint, 班级号char(5));
⑴ PRIMARY KEY约束 • 也称主关键字约束,是实体完整性约束。 • 该约束用于定义主关键字,它能保证主关键字的惟一性和非空性。 ① PRIMARY KEY约束直接写在列名及其类型之后 例2:在创建学生基本表时,将学号定义为主关键字,列级 PRIMARY KEY约束。 create table 学生 (学号 char(6),primary key, 姓名 char(10), 性别 char(2), 年龄 smallint, 班级号 char(5));
②按照语法在相应列名及类型后单独列出: CONSTRAINT<约束名> PRIMARY KEY 例3:在创建课程基本表时,将课程号定义为主关键字,并指定 PK KCH为 PRIMARY KEY约束名(列级约束)。 create table课程(课程号char(6) constraint pk kch primary key, 课称名char(20), 学分 smallint 周学时 smallint);
例3:在创建课程基本表时,将课程号定义为主关键字,并指定 PK_KCH为PRIMARY KEY约束名(列级约束)。 create table 课程 (课程号 char(6) constraint pk_kch primary key, 课称名 char(20), 学分 smallint, 周学时 smallint); ② 按照语法在相应列名及类型后单独列出: CONSTRAINT <约束名> PRIMARY KEY
③在 CREATE TABLE语句列出基本表的所有列之 后,再附加一个声明: PRIMARY KEY(<列名1[,<列名2>,… 例4:在创建考试基本表时定义了一个名为PKKS的表级 PRIMARY KEY约束。 create table考试(学号char(6), 课程号char(6) 成绩 smallint, constraint pk ks primary key(学号,课程号); 食
例4:在创建考试基本表时定义了一个名为PK_KS的表级 PRIMARY KEY约束。 create table 考试(学号 char(6), 课程号 char(6), 成绩 smallint, constraint pk_ks primary key(学号,课程号)); ③ 在CREATE TABLE语句列出基本表的所有列之 后,再附加一个声明: PRIMARY KEY(<列名1>[,<列名2>,…])