前言
数据库考完了,这门科目说实话并不难,我对这门学科理解也不算深入,平时总觉得差不多就好,可最后就是差一点,希望诸君谨记,功夫在平时,这只是个人见解,且为诸君戏!
目录
提示:以下是本篇文章正文内容,下面案例可供参考
一.sql语言建表(S,P,J,SPJ)
供应商表S
属性列 | 数 据 类 型 | 是否为空/约束条件 |
SNO | CHAR(4) | 主码,否 |
SNAM | CHAR(20) | 否 |
STAT | CHAR(2) | A,B,C |
CITY | CHAR(10) | 否 |
CREEATE TABLE S
(
SNO CHAR(4) PRIMARYKEY,
SNAME CHAR(20),
STAT CHAR(2) CHECK (STAT IN ('A','B','C')),
CITY CHAR(10)
);
零件表P
属性列 | 数 据 类 型 | 是否为空/约束条件 |
PNO | CHAR(4) | 主码,否 |
PNAME | CHAR(10) | 否 |
COLOR | CHAR(2) | “红” “黄” “蓝” |
WT | SMALLINT | 否 |
CREEATE TABLE P
(
PNO CHAR(4) PRIMARYKEY,
PNAME CHAR(10),
COLOR CHAR(2) CHECK (COLOR IN (“红”,“黄”,“蓝”)),
WT SMALLINT
);
工程表J
属性列 | 数 据 类 型 | 是否为空/约束条件 |
JNO | CHAR(4) | 主码/否 |
JNAME | CHAR(20) | 否 |
CITY | CHAR(10) | 否 |
CREATE TABLE J
(
JNO CHAR(4) PRIMARYKEY,
JNAME CHAR(20),
CITY CHAR(10)
);
基本表SPJ
属性列 | 数 据 类 型 | 是否为空/约束条件 |
SNO | CHAR(4) | 主属性,否 |
PNO | CHAR(4) | 主属性,否 |
JNO | CHAR(4) | 主属性,否 |
QTY | INT | 是 |
CREATE TABLE SPJ
(
SNO CHAR(4) NOT NULL,
PNO CHAR(20) NOT NULL,
JNO CHAR(10) NOT NULL,
QTY INT,
PRIMARYKEY(SNO,PNO,JNO),
FOREIGNKEY (SNO) REFERENCES S(SNO)
FOREIGNKEY (PNO) REFERENCES P(PNO)
FOREIGNKEY (JNO) REFERENCES J(JNO)
);
二.要点小结
1.约束条件
根据二维表,确定约束条件,CHECK ( 对属性的约束条件)
eg:check (sex in("男","女"))// 性别约束为男或女
2.主码&主属性
主码:在表中唯一确定一行元组的属性,例如你的身份证号码具有唯一性
主属性:包含在主码内 列如(学号,班级号)→成绩 , 其中主属性分别为学号,班级号。主码(学号,班级号)
在前三个表中,其主码分别为SNO,PNO,JNO
但是在SPJ表之中主码为(SNO,PNO,JNO)三者共同构成主码,SNO,PNO,JNO分别是其主属性