数据库实验 实验二 数据表的创建与管理

注:此内容仅仅只是记录成长与分享学习,不能保证绝对正确

实验二 数据表的创建与管理

实验日期:     2022   日  星期 五      实验地点: 宿舍      

一 实验目的

1. 熟练掌握和使用向导、SQL语句创建、删除数据表。

2. 熟练掌握在现有数据表中增加新的属性、删除原有的属性、补充定义主键和外键、以及撤销主键和外键,实现对数据表结构进行修改。

二 实验要求

1. 请大家务必动手完成实验,实验过程中,会随机抽查提问,作为实验成绩重要参考。

2. 请将数据库studb的两个基本文件自行保留,下次实验在此基础上进行。

3. 请在本实验报告指定方框认真填写对应的实验代码或实验结果。

三 实验内容

1. 运用“向导”或SQL命令方式创建管理数据表。

2. 运用“向导”或SQL命令方式在现有数据表中增加新的属性、删除原有的属性。

3. 运用“向导”或SQL命令方式在现有数据表中补充定义和撤销主键、外键。

四 实验步骤

附加前述数据库,按下述要求完成实验:

1. 创建数据表

1)运用“向导”创建数据表S(SNO,SNAME,AGE,GENDER,DNAME),通过右击数据库studb下方“表”项,进入创建数据表窗口,如图2.1。创建过程中,指定SNO为主键,各字段属性如图2.2所示。

数据库实验 实验二 数据表的创建与管理_第1张图片

图2.1 创建数据表快捷菜单

数据库实验 实验二 数据表的创建与管理_第2张图片

图2.2 数据表S的字段属性

2)新建一个命令窗口,通过CREATE TABLE命令创建数据表C及SC,声明C的主键为CNO,SC的主键是SNO和CNO属性组。要求两个表的字段属性与图2.3完全一致,且C表的学分CREDIT属性默认值为3。

数据库实验 实验二 数据表的创建与管理_第3张图片

图2.3 数据表C(左)及SC(右)的字段属性

创建数据表C及SC的SQL命令为:

CREATE TABLE C

(

    CNO CHAR(2)NOT NULL PRIMARY KEY,

    CNAME VARCHAR(24)NOT NULL,

    CREDIT SMALLINT DEFAULT 3,

    PRE_CNO CHAR(2)

    );

CREATE TABLE SC

(

    SNO CHAR(6)NOT NULL,

    CNO CHAR(2)NOT NULL,

    SCORE SMALLINT,

    PRIMARY KEY(SNO,CNO)

);

2. 增删数据表中的属性

在数据表S中首先添加一个birthday属性,类型为DATETIME,然后将此属性删除。

增加birthday属性的SQL命令为:

ALTER TABLE S ADD

BIRTHDAY DATETIME;

删除birthday属性的SQL命令为:

ALTER TABLE S

DROP COLUMN BIRTHDAY;

3. 撤销并补充定义主键

通过“向导”撤销S表的主键,通过SQL命令撤销SC表的主键,然后通过SQL命令补充定义被撤销的两个主键,撤销主键时要用到主键对应的键约束名,每个数据表的键约束名位置如图2.4所示。

数据库实验 实验二 数据表的创建与管理_第4张图片

图2.4 键约束位置

撤销SC表主键的SQL命令为:

ALTER TABLE SC

DROP CONSTRAINT PK__SC__6601161B060DEAE8;

补充定义S表及SC表主键的SQL命令为:

ALTER TABLE S ADD

CONSTRAINT SNO_ZHUJIAN PRIMARY KEY(SNO);

ALTER TABLE SC ADD

CONSTRAINT PK__SC__6601161B060DEAE8 PRIMARY KEY(SNO,CNO);

4. 定义外键 将SC中的SNO及CNO定义为外键,分别参考S表中的SNO及C表中的CNO。要求通过“向导”方式定义外键SNO,通过命令方式定义外键CNO,“向导”方式定义外键的步骤如下:

1)右击SC表的“键”项,点击“新建外键(N)……”,进入如图2.5所示窗口。

数据库实验 实验二 数据表的创建与管理_第5张图片

图2.5 外键关系

点击“表和列规范”右侧按钮,进入如图2.6设置窗口,设置外键参照关系,图2.6表示数据表SC中的SNO是一个参照S数据表中SNO的外键,点击确定,退出设置过程,点击“全部保存”按钮,右击刷新数据库即可看到外键约束。

数据库实验 实验二 数据表的创建与管理_第6张图片

图2.6 设置外键

定义外键CNO的SQL命令为:

ALTER TABLE SC

ADD

CONSTRAINT WAIJIAN_CNO REFERENCES C(CNO);

五 自选动作

请在下框填写除了上述实验内容之外自选的实验内容:

将数据表S的SNAME属性的类型的从8位宽增加到24;

SQL命令为:

ALTER TABLE S

ALTER COLUMN SNAME CHAR(24);

六 实验总结

在补充定义S表及SC表主键的SQL命令时对 CNOSTRAINT 后面的名字理解不正确,没有给添加的约束命名,所以一直报错,错误显示应在CNOSTRAINT后面输入ID,刚开始一直没懂,后来看了书上的例题,一番研究后才明白,每一个约束都是有一个名字的,包括实验里外键,主键等等,在我们定义时系统都给力它一个名字,所以,在添加约束的时候是需要给约束取名字的。

你可能感兴趣的:(数据库实验,数据库,sql,database)