undefined-0's Blog

历添新岁月 春满旧山河

0%

实验一_数据库定义实验

实验一 数据库定义实验

1. 基本操作实验:

1)课本p286 10.4.1 基本操作实验内容

  • 使用Management Studio创建图书读者数据库及学生课程数据库。

学生课程数据库的表结构为:
​ 学生(学号,姓名,年龄,性别,所在系);
​ 课程(课程号,课程名,先行课);
​ 选课(学号,课程号,成绩);

图书读者数据库表结构为:
图书(书号,类别,出版社,作者,书名,定价);
读者(编号,姓名,单位,性别,电话);
借阅(书号,读者编号,借阅日期);

  • 实验结果截图:

    • 数据库创建:image-20240510090837905

    • 学生课程数据库的表结构:

    image-20240510091339291

    image-20240510091307613

    image-20240510091359025

    • 图书读者数据库的表结构:

    image-20240510090936973

    image-20240510091441925

    image-20240510091506765

2) 设定每个表的主码。

  • 实验结果:

    主码
    学生 学号
    课程 课程号
    选课 学号、课程号
    图书 书号
    读者 编号
    借阅 书号、读者编号

3) 在Management Studio中建立学生表、课程表和选课表的表级约束。(外码)。

  • 实验结果:

    外码字段 参照字段
    dbo.选课 学号 dbo.学生 - 学号
    dbo.选课 课程号 dbo.课程 - 课程号
    dbo.借阅 书号 dbo.图书 - 书号
    dbo.借阅 读者编号 dbo.读者 - 编号

4) 通过Management Studio实现对上述三个表中数据的增加、删除和修改。

  • 增加:image-20240510152324808

  • 删除:image-20240510152615348

    删除后:image-20240510152650427

    • 修改:image-20240510152820025

      修改后:image-20240510152852125

2. 提高操作实验:

1) 使用SQL命令重新创建以上三个基本表。

2) 选择合适的数据类型;

3) 定义必要的索引,表级约束和列级约束。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--创建学生课程数据库
CREATE DATABASE 学生课程数据库;
GO

USE 学生课程数据库;
GO

CREATE TABLE 学生 (
学号 INT PRIMARY KEY,
姓名 VARCHAR(50),
年龄 INT,
性别 CHAR(2),
所在系 VARCHAR(50)
);

CREATE TABLE 课程 (
课程号 INT PRIMARY KEY,
课程名 VARCHAR(50),
先行课 NCHAR(4),
FOREIGN KEY (先行课) REFERENCES 课程(课程号)
);

CREATE TABLE 选课 (
学号 INT,
课程号 INT,
成绩 DECIMAL(5, 2),
PRIMARY KEY (学号, 课程号),
FOREIGN KEY (学号) REFERENCES 学生(学号),
FOREIGN KEY (课程号) REFERENCES 课程(课程号)
);
  • 命令执行结果:
    image-20240510093550622
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
--创建图书读者数据库
CREATE DATABASE 图书读者数据库;
GO

USE 图书读者数据库;
GO

CREATE TABLE 图书 (
书号 INT PRIMARY KEY,
类别 VARCHAR(50),
出版社 VARCHAR(50),
作者 VARCHAR(50),
书名 VARCHAR(100),
定价 DECIMAL(10, 2)
);

CREATE TABLE 读者 (
编号 INT PRIMARY KEY,
姓名 VARCHAR(50),
单位 VARCHAR(100),
性别 CHAR(2),
电话 VARCHAR(20)
);

CREATE TABLE 借阅 (
书号 INT,
读者编号 INT,
借阅日期 DATE,
PRIMARY KEY (书号, 读者编号),
FOREIGN KEY (书号) REFERENCES 图书(书号),
FOREIGN KEY (读者编号) REFERENCES 读者(编号)
);
  • 命令执行结果:
    image-20240510093441056

3.选择操作实验:

  • 自行设计一个数据库小系统,并通过SQL命令和SQL SERVER Management Studio在计算机上实现建库、建表、建立表间联系和必要的索引和约束。

    医院信息数据库:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    --创建医院信息数据库
    CREATE DATABASE 医院信息数据库
    GO

    USE 医院信息数据库
    GO

    CREATE TABLE 医生 (
    工号 INT PRIMARY KEY,
    姓名 VARCHAR(100) NOT NULL,
    年龄 INT NOT NULL,
    性别 CHAR(2) NOT NULL,
    职称 VARCHAR(50),
    科室 VARCHAR(100)
    );

    CREATE TABLE 患者 (
    患者号 INT PRIMARY KEY,
    姓名 VARCHAR(100) NOT NULL,
    年龄 INT NOT NULL,
    性别 CHAR(2) NOT NULL,
    身份证号码 NVARCHAR(18) NOT NULL UNIQUE
    );

    CREATE TABLE 病历 (
    病历号 INT PRIMARY KEY,
    患者号 INT,
    医生工号 INT,
    就诊日期 DATE,
    病情描述 TEXT,
    FOREIGN KEY (患者号) REFERENCES 患者(患者号),
    FOREIGN KEY (医生工号) REFERENCES 医生(工号)
    );
    • 命令执行结果:
      image-20240510152021435