数据库实验一主要涉及到数据库的基础知识和技能,具体包括如何使用SQL(Structured Query Language,结构化查询语言)来定义数据,包括创建数据库、创建数据表、执行数据表结构的修改与删除等操作。这些是数据库管理系统(DBMS)中最为基本的操作,它们是学习数据库管理的基石。
1. 创建数据库
创建数据库是数据库管理的基础,它涉及到数据库的命名、存储位置、文件大小的限制等。在本实验中,需要创建一个名为Educ的数据库,存放路径为D:\db文件夹下,文件的初始大小设置为5MB,最大值为20MB。在SQL中,创建数据库的语句通常使用CREATE DATABASE语句,如下所示:
```sql
CREATE DATABASE Educ ON (NAME = Educ_dat, FILENAME = 'D:\db\Educ.mdf', SIZE = 5MB, MAXSIZE = 20MB)
```
2. 创建数据表
数据表是数据库存储数据的基本单元。在Educ数据库中需要创建五个基本表,分别是Student(学生表)、Course(课程表)、Teacher(教师表)、SC(学生选课表)、TC(教师任课表)。创建数据表时,需要定义表中包含的列(字段),指定每列的数据类型(例如:char, varchar, datetime, smallint, decimal等),是否允许为空(空否),以及设置主键、外键等约束条件。例如,创建学生表Student的SQL语句如下:
```sql
CREATE TABLE Student (
Sno CHAR(11) NOT NULL,
Sname CHAR(10) NOT NULL,
Ssex CHAR(2) NOT NULL,
Sbirthday DATETIME,
Saddress CHAR(10),
Sgrade SMALLINT,
Smajor CHAR(10),
Sdept CHAR(2),
PRIMARY KEY (Sno)
);
```
每个数据表的创建都要遵循类似的过程,确保所有表都正确设置好数据类型、空值和约束。
3. 修改和删除表结构
在数据库使用过程中,表结构的修改是经常发生的事情。比如,需要在Teacher表中新增加一个籍贯(Taddress)属性,数据类型为char,长度为10;或者在Student表中修改Sdept属性的长度为4;又或者需要删除Teacher表中的Taddress属性。这些都是通过ALTER TABLE语句来完成的。例如,添加Taddress属性的SQL语句为:
```sql
ALTER TABLE Teacher ADD Taddress CHAR(10);
```
删除属性的命令是DROP COLUMN,比如删除Taddress属性:
```sql
ALTER TABLE Teacher DROP COLUMN Taddress;
```
修改和删除数据表的顺序也是需要注意的,特别是删除表时,应确保依赖关系和参照完整性得以保持,通常是先删除外键相关的表,再删除主表。
4. 实验过程的记录与备份
本实验要求将所有的SQL语句及执行效果截图复制到实验过程中,这是为了记录实验的具体操作和结果。同时,需要将创建5张基本表的SQL脚本保存到D:\db文件夹中,命名为CreateTable.sql。这是一个备份的过程,它有助于未来的数据恢复和维护。
5. 数据库的还原
在删除表结构后,可以通过之前备份的CreateTable.sql脚本来还原数据表。在还原之前,需要注意还原的顺序,以防出现依赖性错误。
通过完成上述实验内容,可以掌握数据库的基本操作,包括创建、修改和删除数据库及数据表,从而为以后的数据库管理和开发工作打下坚实的基础。这些操作是数据库设计与开发中最基础也是最关键的环节。实验中还包含了对SQL语句的理解与使用,SQL是关系型数据库的标准操作语言,对它的熟悉程度将直接影响到数据库操作的效率和准确性。通过这样的实验,可以有效地提升对数据库系统的认识和应用能力。