数据库上机实验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。

CREATE DATABASE Homework
ON
(NAME=Homework_Data,
FILENAME='D:\HomeworkData.mdf',
SIZE=10,
MAXSIZE=500,
FILEGROWTH=10)
LOG ON
(NAME=Homework_Log,
FILENAME='D:\HomeworkData.ldf',
SIZE=5,
MAXSIZE=500,
FILEGROWTH=5)

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

ALTER DATABASE Homework
ADD FILE
(NAME=Homework_Datanew,
FILENAME='D:\Homework_Datanew.ndf',
SIZE=100,
MAXSIZE=200,
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命令在学生作业管理数据库中建立学生表、课程表和学生作业表。

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

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

ALTER TABLE 学生表
ADD 
Address NVARCHAR(20)

三、实验指导

1、启动SQL Server2012软件。

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

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

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

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

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

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

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

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

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

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

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Meteor.792

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值