数据库上机实验1 数据库定义语言

简介: 数据库上机实验1 数据库定义语言

一、实验目的

1、熟悉数据库管理软件的使用。

2、熟练掌握数据库的创建、修改和删除语句

3、掌握表的创建、修改和删除语句。

二、实验内容

给定如表3.6、表3.7和表3.8所示的学生信息。

表3.6 学生表(Student)

学号

姓名

性别

专业班级

出生日期

联系电话

0433

张艳

生物04

1986-9-13

0496

李越

电子04

1984-2-23

13812901234

0529

赵欣

会计05

1984-1-27

13502221234

0531

张志国

生物05

1986-9-10

13312561234

0538

于兰兰

生物05

1984-2-20

13312001234

0591

王丽丽

电子05

1984-3-20

13320801234

0592

王海强

电子05

1986-11-1

表3.7 课程表(Course)

课程号

课程名

学分数

学时数

任课教师

K001

计算机图形学

2.5

40

胡晶晶

K002

计算机应用基础

3

48

任泉

K006

数据结构

4

64

马跃先

M001

政治经济学

4

64

孔繁新

S001

高等数学

3

48

赵晓尘

表3.8  学生作业表(Score)

课程号

学号

作业1成绩

作业2成绩

作业3成绩

K001

0433

60

75

75

K001

0529

70

70

60

K001

0531

70

80

80

K001

0591

80

90

90

K002

0496

80

80

90

K002

0529

70

70

85

K002

0531

80

80

80

K002

0538

65

75

85

K002

0592

75

85

85

K006

0531

80

80

90

K006

0591

80

80

80

M001

0496

70

70

80

M001

0591

65

75

75

S001

0531

80

80

80

S001

0538

60

80

1、用SQL命令创建一个学生作业管理数据库Homework,数据文件的逻辑名称为Homework_Data,数据文件存放在D盘根目录下,文件名为HomeworkData.mdf,数据文件的初始存储空间大小为10MB,最大存储空间为500MB,存储空间自动增长量为10MB;日志文件的逻辑名称为Homework_Log,日志文件物理地存放在D盘根目录下,文件名为HomeworkData.ldf,初始存储空间大小为5MB,最大存储空间为500MB,存储空间自动增长量为5MB。

1. CREATE DATABASE Homework
2. ON
3. (NAME=Homework_Data,
4. FILENAME='D:\HomeworkData.mdf',
5. SIZE=10,
6. MAXSIZE=500,
7. FILEGROWTH=10)
8. LOG ON
9. (NAME=Homework_Log,
10. FILENAME='D:\HomeworkData.ldf',
11. SIZE=5,
12. MAXSIZE=500,
13. FILEGROWTH=5)

2、用SQL命令修改数据库Homework,添加一个次要数据文件,逻辑名称为Homework_Datanew,存放在D盘根目录下,文件名为Homework_Datanew.ndf。数据文件的初始大小为100MB,最大容量为200MB,文件自动增长容量为10MB。

1. ALTER DATABASE Homework
2. ADD FILE
3. (NAME=Homework_Datanew,
4. FILENAME='D:\Homework_Datanew.ndf',
5. SIZE=100,
6. MAXSIZE=200,
7. FILEGROWTH=10)

3、对表3.6,表3.7和表3.8,分别以下表的方式给出各字段的属性定义和说明。

字段名

数据类型

长度或者精度

默认值

完整性约束

说明

……

……

……

……

……

……

……

……

3、表3.6学生表

字段名

数据类型

长度或者精度

默认值

完整性约束

说明

sno

char

4

Primary key

Not null

学号

sname

varchar

20

Not null

姓名

ssex

char

2

Check(‘男’,’女’)

Not null

性别

major

Varchar

30

Not null

专业班级

birth

date

null

出生日期

phone

char

11

null

联系电话

表3.7课程表

字段名

数据类型

长度或者精度

默认值

完整性约束

说明

cno

char

4

Primary key

Not null

课程号

cname

varchar

30

Not null

课程名

credit

numeric

(3,1)

Not null

学分数

xtime

numeric

(4,1)

Not null

学时数

tname

varchar

20

null

任课教师

表3.8学生作业表

字段名

数据类型

长度或者精度

默认值

完整性约束

说明

cno

char

4

Primary key

Foreign key

Not null

课程号

sno

char

4

Primary key

Foreign key

Not null

学号

Cj1

numeric

(4,1)

null

作业1成绩

Cj2

numeric

(4,1)

null

作业2成绩

Cj3

numeric

(4,1)

null

作业3成绩

4、使用SQL命令在学生作业管理数据库中建立学生表、课程表和学生作业表。

1. 创建学生表(Student)
2. Create table student
3. (sno char(4) not null primary key,
4. Sname varchar(20) not null,
5. Ssex char(2) not null check(ssex in('男','女')),
6. Major varchar(30) not null,
7. Birth date null,
8. Phone char(11) null)
1. 创建课程表(Course)
2. Create table course
3. (cno char(4) not null primary key,
4. Cname varchar(30) not null,
5. Credit numeric(3,1) not null,
6. Stime numeric(4,1) not null,
7. Tname varchar(20) null)
1. 创建学生作业表(Score)
2. Create table score
3. (cno char(4) not null,
4. Sno char(4) not null,
5. Cj1 numeric(4,1) null,
6. Cj2 numeric(4,1) null,
7. Cj3 numeric(4,1) null,
8. Primary key(cno,sno),
9. Foreign key(cno) references course(cno),
10. Foreign key(sno) references student(sno))
11. 5、alter table student
12. Add address nvarchar(20)

5、在学生表中增加一个住址列,列名为address,数据类型为nvarchar(20)。

1. ALTER TABLE 学生表
2. ADD
3. Address NVARCHAR(20)

三、实验指导

1、启动SQL Server2012软件。

2、SQL Server中,程序不区别大小写,特别要注意程序中的标点符号,一定要在英文半角状态下输入,否则会出错。

3、在创建表时,使用字符串类型时应遵循以下原则:

(1)从速度方面考虑,要选择固定的列,可以使用char类型。

(2)要节省空间,使用动态的列,可以使用varchar类型。

(3)如果要搜索的内容不区分大小写且内容较多,可以使用text类型。

在创建表时,使用哪种数字类型,应遵循以下原则:

(1)选择最小的可用类型,如果值永远不超过255,则使用tinyint比int强。

(2)对于完全都是数字的,可以选择整数类型。

(3)浮点类型用于可能具有小数部分的数。例如货物单价、网上购物交付金额等。

设置表的主键约束和外键约束,以保证数据的完整性,应选择能够唯一标识一行记录的列或列的组合作为表的主键,外键首先是另一个表的主键,在该表中才能给它设置成外键。

目录
相关文章
|
1天前
|
存储 Oracle 关系型数据库
实验三 Oracle数据库的创建和管理
实验三 Oracle数据库的创建和管理
8 1
|
1天前
|
SQL Oracle 关系型数据库
实验一 安装和使用Oracle数据库
实验一 安装和使用Oracle数据库
11 1
|
1天前
|
SQL 数据库
数据库SQL语言实战(六)
本次实战的重点就在于对表格本身的一些处理,包括复制表格、修改表格结构、修改表格数据
|
1天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(五)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
|
1天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
|
1天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(三)
本篇文章重点在于SQL中的各种删除操作
|
1天前
|
存储 SQL Java
【数据库】数据库语言
【数据库】数据库语言
19 1
|
1天前
|
Java 关系型数据库 数据库连接
【C 言专栏】C 语言与数据库的连接与操作
【5月更文挑战第2天】本文探讨了C语言如何连接和操作数据库,介绍了数据库连接的基本原理,如通过ODBC、JDBC或原生接口与数据库交互。文章详细阐述了使用ODBC连接的步骤,并列举了C语言在数据库操作中的常见任务,强调了错误处理、数据类型匹配和性能优化的重要性。通过实际案例,展示了在学生信息管理系统中应用C语言与数据库交互的过程。本文旨在帮助读者更好地理解和应用C语言进行数据库管理。
|
1天前
|
存储 SQL 缓存
构建高效的矢量数据库查询:查询语言与优化策略
【4月更文挑战第30天】本文探讨了构建高效矢量数据库查询的关键点,包括设计简洁、表达性强的查询语言,支持空间操作、函数及索引。查询优化策略涉及查询重写、索引优化、并行处理和缓存机制,以提升查询效率和准确性。这些方法对处理高维空间数据的应用至关重要,随着技术进步,矢量数据库查询系统将在更多领域得到应用。
|
1天前
|
SQL 关系型数据库 MySQL
【MySQL】:探秘主流关系型数据库管理系统及SQL语言
【MySQL】:探秘主流关系型数据库管理系统及SQL语言
27 0