0
点赞
收藏
分享

微信扫一扫

数据库:实验二 创建及管理数据表

8052cf60ff5c 2022-03-23 阅读 97
数据库

这里写目录标题

作业要求

实验二:创建及管理数据表

一、实验目的
1.掌握数据库模式的创建方法;
2.掌握数据表的特点;
3.掌握在Management Stuio中创建、编辑及删除数据表;
4.掌握使用T-SQL创建、编辑及删除数据表;
二、实验学时
2学时
三、实验要求
1.完成创建数据库模式;
2.完成基本数据类型的定义;
3.根据T-SQL创建模式创建数据表的语法,完成相应模式和数据表定义和修改;
4.完成实验报告。
四、实验准备知识
1.创建模式(构架)的命令。
CREATE SCHEMA schema_name_clause [ <schema_element> [ …n ] ]

<schema_name_clause> ::=
{
schema_name
| AUTHORIZATION owner_name
| schema_name AUTHORIZATION owner_name
}
说明:schema_name:在数据库内标识架构的名称。
AUTHORIZATION owner_name:指定将拥有架构的数据库级主体的名称。 此主体还可以拥有其他架构,并且可以不使用当前架构作为其默认架构。
2.创建数据表的命令
CREATE TABLE
[ database_name . [ schema_name ] . | schema_name . ] table_name
( { <column_definition> | <computed_column_definition>
| <column_set_definition> }
[ <table_constraint> ] [ ,…n ] )
FEDERATED ON ( distribution_name = column_name)
[ ; ]
<column_definition> ::=
column_name <data_type>
[ COLLATE collation_name ]
[ NULL | NOT NULL ]
[
[ CONSTRAINT constraint_name ] DEFAULT constant_expression ]
| [ IDENTITY [ ( seed ,increment ) ]
]
[ <column_constraint> [ …n ] ]
五、实验内容

1.创建及删除模式(构架)
1)在student数据库中新建一个用户test,并给该用户指定一个默认模式stu。
2)在student数据库中创建一个stu1的模式给test用户。
3)删除student数据库中的stu1模式。

2.界面方式下创建数据表
利用界面方式创建教师授课管理数据库JSSK,并在数据库JSSK中创建下列三张表;
表名:teachers
列名 数据类型 说明 描述
Tno 字符型,长度7 主键 教师号
Tname 字符型,长度10 非空 姓名
Tsex 字符型,长度2 默认取值为“男” 性别
Birthday 小日期时间型 允许空 出生日期
Dept 字符型,长度20 允许空 所在部门
Sid 字符型,长度18 身份证号
表名: lessons
列名 数据类型 说明 描述
Cno 字符型,长度10 主键 课程号
Cname 字符型,长度20 非空 课程名
Credit 短整型 学分
property 字符型,长度为10 课程性质
表名: shouke
列名 数据类型 说明 描述
Tno 字符型,长度7 主键 教师号
Cno 字符型,长度10 主键 课程名
Hours 整数 课时
3.命令方式下创建数据表
1)使用T-SQL语句,在实验二中创建的数据库student中创建模式XSKC。
2)在student数据库中建立基于XSKC模式的数据表,表结构如下所示;
student(学生信息表)
字段名称 字段类型及长度 说明 备注
sno char(9) 学生学号 主关键字
sname nvarchar(6) 学生姓名 非空
ssex nchar(1) 学生性别 可为空
sage int 学生年龄 可为空
sdept nvarchar(8) 学生所在院系 可为空
course(课程信息表)
字段名称 字段类型及长度 说明 备注
cno char(4) 课程编号 主关键字
cname nvarchar(20) 课程名称 非空
cpno char(4) 先行课号 可为空
ccredit int 学分 可为空
sc(选课信息表)
字段名称 字段类型及长度 说明 备注
sno char(9) 学生学号 主关键字
cno char(4) 课程编号 主关键字
grade int 成绩 可为空
4.利用命令方式修改表结构
1)在shouke表里添加一个授课类别字段,列名为Type,类型为Char(4);
2)将shouke表的Hours的类型改为smallint;
3)删除lessons表中的property列;
4)在表shouke中删除字段Type;
5)修改表student中字段名为“sname”的字段长度由原来的6改为8;
6)删除数据表lessons;

六、实验步骤
Management界面方式下的操作步骤
打开已经创建的数据库名称前方的小加号,在【表】节点上右击,选择【新建表】命令,打开表设计器窗口。在表设计器窗口中输入列名。选择数据类型及是否允许为空的情况,并在主键字段的前方单击鼠标右键,选择【设置主键】选项。也可以在列属性的说明中标出每个字段代表的含义。设计完成后按Ctrl+S组合键保存,在弹出的对话框中输入表名,单击【确定】按钮。
T-SQL语句方式下的操作步骤:
在【SQL Server Management Studio】窗口左上方选择【新建查询】按钮,启动SQL编辑器窗口,在光标处输入T-SQL语句,单击【执行】按钮。
七、思考题
1.SQL Server中删除模式时,若模式中有数据对象则进行什么处理?

1.创建及删除模式(构架)

1.1界面化&&命令化

1)在student数据库中新建一个用户test,并给该用户指定一个默认模式stu。

在这里插入图片描述

CREATE LOGIN xsdlm          /*创建登录名*/
WITH PASSWORD='123456';     /*创建密码*/
USE student;                /*打开Student数据库*/    
CREATE USER test FOR LOGIN xsdlm  /*创建用户&&使用xsdlm的登录名*/
WITH DEFAULT_SCHEMA=stu;          /*设置默认模式(指定服务器为此数据库用户解析对象名时将搜索的第一个架构)*/
GO

1.2界面化&&命令化

2)在student数据库中创建一个stu1的模式给test用户。
窗体建立

CREATE SCHEMA stu1 AUTHORIZATION test;

1.3界面化&&命令化

3)删除student数据库中的stu1模式。
在这里插入图片描述

DROP SCHEMA stu1

2.界面方式下创建数据表

2.1界面化

利用界面方式创建教师授课管理数据库JSSK,并在数据库JSSK中创建下列三张表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.命令方式下创建数据表

3.1命令化

1)使用T-SQL语句,在实验二中创建的数据库student中创建模式XSKC。

CREATE SCHEMA  XSKC

3.2命令化

在这里插入图片描述

USE student
CREATE TABLE XSKC.student
(sno char(9) NOT NULL PRIMARY KEY,
sname nvarchar(6) NOT NULL,
ssex nchar(1),
sage int,
sdept nvarchar(8))
GO

++++++++++++++++++++++++++++++++++++++++++++++++
在这里插入图片描述

USE student
CREATE TABLE XSKC.course
(cno char(4) NOT NULL PRIMARY KEY,
cname nvarchar(20) NOT NULL,
cpno char(4),
ccredit int)
GO

++++++++++++++++++++++++++++++++++++++++++++++++
在这里插入图片描述

USE student
CREATE TABLE XSKC.sc
(sno char(9) NOT NULL,
cno char(4) NOT NULL,
grade int,
PRIMARY KEY(sno,cno)
)
GO

4.利用命令方式修改表结构

4.1命令化

在shouke表里添加一个授课类别字段,列名为Type,类型为Char(4);
在这里插入图片描述

use JSSK 
ALTER TABLE shouke
add Type char(4)

4.2命令化

将shouke表的Hours的类型改为smallint;
在这里插入图片描述

use JSSK 
ALTER TABLE shouke
Alter column Hours smallint

4.3命令化

删除lessons表中的property列;
在这里插入图片描述

use JSSK 
ALTER TABLE lessons
Drop column property

4.4命令化

在表shouke中删除字段Type;
在这里插入图片描述

use JSSK 
ALTER TABLE shouke
Drop column Type

4.5命令化

5)修改表student中字段名为“sname”的字段长度由原来的6改为8;

USE student
ALTER TABLE student
Alter column sname nvarchar(8) 

4.6命令化

6)删除数据表lessons
在这里插入图片描述

USE JSSK
DROP TABLE lessons
举报

相关推荐

0 条评论