数据库上机实验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)浮点类型用于可能具有小数部分的数。例如货物单价、网上购物交付金额等。

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

目录
相关文章
|
29天前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
29 1
|
1月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
50 4
|
1月前
|
SQL 关系型数据库 MySQL
go语言中安装数据库驱动
【11月更文挑战第1天】
51 5
|
1月前
|
SQL 关系型数据库 MySQL
go语言中数据库操作
【10月更文挑战第22天】
44 4
|
1月前
|
关系型数据库 MySQL 数据库连接
go语言中打开数据库连接
【11月更文挑战第1天】
31 2
|
2月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
89 11
|
2月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
87 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
2月前
|
SQL Serverless 数据库
数据库常用DQL语言合集
数据库常用DQL语言合集
|
2月前
|
SQL NoSQL 数据管理
超越查询语言:GQL 如何塑造图形数据库的未来
超越查询语言:GQL 如何塑造图形数据库的未来
34 0
|
4月前
|
存储 SQL 监控
ADBPG&Greenplum成本优化问题之ADB PG的数据库管控的定义如何解决
ADBPG&Greenplum成本优化问题之ADB PG的数据库管控的定义如何解决
48 2
下一篇
DataWorks