实验1 应用SQL Server进行数据定义和管理

实验1 应用SQL Server进行数据定义和管理

【实验目的】

1)熟悉SQL Server的配置和管理。

2)掌握数据库的定义和修改方法。

3)掌握表的定义和修改方法。

4)掌握使用SQL语句进行数据管理的方法。

【实验环境】

SQL Server 2012 Express(或SQL Server 2017 Express)

【实验内容】

实训1 服务器管理

启动,暂停和停止服务的方法很多,这里主要介绍SQL Server 配置管理器完成这些操作,其操作步骤如下:

  1. 单击“开始”---“Microsoft SQL Server 2012”-----“配置工具”,选择“SQL Server Configuration Manager”,打开SQL Setver配置管理器。单击“SQL Server 2012服务”选项,在右边的对话框里可以看到本地所有的SQL Server服务,包括不同实例的服务,如图1所示。
  2. 如果要启动、停止、暂停SQL Server服务的话,鼠标指向服务名称,单击右键,在弹出的快捷键菜单里选择“启动”、“停止”、“暂停”即可。

图1 SQL Server 配置服务管理器

实训2 创建和删除数据库

设有一学籍管理系统,其数据库名为“EDUC”,初始大小为6MB,最大为10MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为7MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“D:\DBMS\sql_data”。日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“D:\DBMS\sql_data”。

使用SQL Server Management Studio(简称SSMS)创建上述数据库。

【实验步骤】

1.启动SSMS

在开始菜单中执行SQL Server Management Studio

单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。如果身份验证选择的是“混合模式”,则要输入sa的密码。

2.建立数据库

在“对象资源管理器”窗口,在数据库节点上右击选择“新建”。建立数据库EDUC。

3.使用SQL语句建立数据库

用SSMS删除添加建立的数据库EDUC,执行以下SQL语句

CREATE DATABASE [EDUC] ON  PRIMARY

( NAME = N'student_data', FILENAME = N'C:\DBMS\sql_data\student_data.mdf' , SIZE = 6144KB , MAXSIZE = 51200KB , FILEGROWTH = 5%)

 LOG ON

( NAME = N'student_log', FILENAME = N'C:\DBMS\sql_data\student_log.ldf' , SIZE = 7168KB , MAXSIZE = 51200KB , FILEGROWTH = 1024KB )

GO

4.基于“模板资源管理器”建立数据库

(1)在Management Studio的“视图”菜单上,选择“模板资源管理器”命令。找到创建数据库的模板,如下图所示。

(2)在“查询”菜单上,选择“指定模板参数的值”命令。

(3)在出现的“指定模板参数的值”对话框中,显示了当前模板中存在的参数、类型和值3列。在此输入相关设置,单击“确定”完成对脚本的编辑。

输入的参数会出现在模板中的合适位置,单击“执行”按钮,将完成利用模板创建新的数据库的操作。

 

实训3 建立表及数据查询

  1. 建立学生-课程数据库

1. 建立“学生”表Student,学号是主码。可使用SQL语句直接执行,也可使用SSMS图形界面操作完成创建表。

    CREATE TABLE Student         

             (Sno   CHAR(9) PRIMARY KEY,   /* 设为主键*/                 

            Sname  CHAR(20),                     

            Ssex    CHAR(2),

            Sage   SMALLINT,

            Sdept  CHAR(20)

           );

 

数据如下:

Sno

Sname

Ssex

Sage

Sdept

200215121

李勇

20

CS

200215122

刘晨

19

IS

200215123

王敏

18

MA

200215125

张立

19

IS

 

2. 建立一个“课程”表Course。可使用SQL语句直接执行,也可使用SSMS图形界面操作完成创建表。

CREATE TABLE  Course

       (Cno     CHAR(4) PRIMARY KEY,

       Cname  CHAR(40),

       Cpno     CHAR(4),

       Ccredit  SMALLINT

       );

 

数据如下:

Cno

Cname

Cpno

Ccredit

1

2

3

4

5

6

7

数据库

数学

信息系统

操作系统

数据结构

数据处理

PASCAL语言

5

 

1

6

7

 

6

4

2

4

3

4

2

4

 

3. 建立一个“选课”表SC。可使用SQL语句直接执行,也可使用SSMS图形界面操作完成创建表。

CREATE TABLE  SC

             (Sno  CHAR(9),

             Cno  CHAR(4), 

             Grade    SMALLINT,

             PRIMARY KEY (Sno,Cno)      /* 主码由两个属性构成*/ 

          );

 

数据如下:

Sno

Cno

Grade

200215121

1

92

200215121

2

85

200215121

3

88

200215122

2

90

200215122

3

80

 

  1. 完成以下查询任务,写出SQL语句,并给出执行结果(拷屏形式给出)

1.查询全体男生的姓名及其出生年份。

2.查询年龄在18~21岁(包括18岁和21岁)之间的男生的姓名、系别和年龄。

3.查询信息系(IS)和计算机科学系(CS)女生的姓名和性别。

4.查询男同学和女同学均选修的课程的课程号。

实训4 自定义数据类型及数据管理

(1) 创建用户定义的数据类型:编号(非空,长度为8的字符型)
创建“编号”类型的SQL语句:

(2) 创建图书数据库(BookSys),并在数据库中建立如下表,要求图书编号、读者编号使用用户定义类型:编号。

图书信息(tsxx

图书编号

书名

价格

出版社

出版日期

作者

(tusbh)

(shum)

(jiag)

(chubs)

(chubrq)

(zuoz)

说:图书编号、书名不能为空。
创建“tsxx”表的SQL语句:

读者信息(dzxx

读者编号

姓名

身份证号

级别

(duzbh)

(xingm)

(shenfzh)

(jib)

说明:读者编号、姓名不能为空。

创建“dzxx”表的SQL语句:

借阅信息(jyxx

读者编号

图书编号

借阅日期

还书日期

是否续借

(duzbh)

(tusbh)

(jieyrq)

(huansrq)

(shifxj)

说明:图书编号、读者编号不能为空。

创建“jyxx”表的SQL语句:

3.完成如下操作。

(1)向读者信息表中添加列:联系方式,可以为空。

SQL语句:

(2)修改列“出版社”的定义,长度修改为200。

SQL语句:

(3)删除“联系方式”一列。
SQL语句:

4.完成如下数据操作。

(1)向各表插入若干数据。
给出向“tsxx”表插入一条记录的SQL语句:

给出向“dzxx”表插入一条记录的SQL语句:


给出向“jyxx”表插入一条记录的SQL语句:

(2)修改读者信息表中编号为00001001的读者的级别为2级。

SQL语句:

Update dzxx

Set jib=’2级’

Where duzbh=’00001001’

(3)删除借阅信息表中读者编号为00001001借阅10010001图书的记录。

SQL语句:

Delete jyxx

Where duzbh =’00001001’ and tusbh =’10010001’

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值