实验一 学生信息管理系统数据库结构搭建和表的创建

目录

1. 根据学生信息管理系统创建相关的数据库

1.1  使用SQL Server Management Studio创建数据库,要求创建主数据文件(扩展名为 .mdf),次要数据文件(扩展名为 .ndf),日志文件(扩展名为 .ldf)等。文件的具体参数组别自己决定,但要阐述设置该参数的理由。

1.2  使用SQL Server Management Studio删除1.1创建的数据库。

1.3是使用Transact-SQL语句创建数据库,要求创建主数据文件,次要数据文件,日志文件等。文件的具体参数组别自己决定,但至少包含3个数据文件,文件的增量要包含具体数字和百分比两种形式。阐述设置相关参数的理由。

1.4 设计一种情景,阐述需要修改数据库的数据文件和日志文件,并修改它们。

2.  数据库表初步设计及实现

2.1 根据3.1的二维表,在数据服务器上用Transact-SQL语句创建相关的表。至少包含以下3个表以及合理的相关属性:学生表(至少含8个属性),班级表(至少含6个属性)和宿舍表(至少含5个属性)。三个表中属性的数据类型,包含数字型(整型和浮点型),字符串性(可变和不可变),日期型,货币等不同数据类型。

2.2 考虑表相互间的约束条件和本身字段的约束条件,并实现。

2.3 设计某种情景,要修改和删除表里面的约束条件,并实现。

2.4 三个表中,任选其中一个表,根据某种业务逻辑,创建索引。

2.5 使用SQL Server Management Studio,每个表至少输入3条有效数据。

2.6 请用两种不同方法,实现删除学生表和对应宿舍表中的数据(提示:级联删除)

2.7 请实现完全删除学生表和宿舍表(包含表数据及其定义)

3.  实现数据库的分离和附加

3.1  使用SQL Server Management Studio分离1.3所创建的数据库

3.2  附加分离的数据库


1. 根据学生信息管理系统创建相关的数据库

1.1  使用SQL Server Management Studio创建数据库,要求创建主数据文件(扩展名为 .mdf),次要数据文件(扩展名为 .ndf),日志文件(扩展名为 .ldf)等。文件的具体参数组别自己决定,但要阐述设置该参数的理由。

主数据文件为 Stu_db ,次要数据文件为Stu_db_1,日志文件为Stu_db_log。

1.2  使用SQL Server Management Studio删除1.1创建的数据库。

或者通过DDL语句

drop database Stu_db;

1.3是使用Transact-SQL语句创建数据库,要求创建主数据文件,次要数据文件,日志文件等。文件的具体参数组别自己决定,但至少包含3个数据文件,文件的增量要包含具体数字和百分比两种形式。阐述设置相关参数的理由。

先创建文件夹database,然后复制其路径。

CREATE DATABASE Stu_db                --后面Stu_db是我们要创建的数据库名称
on PRIMARY                                   --primary是指关联的文件组,定义主文件
	(NAME=Stu_db,            --文件名字
	FILENAME='C:\database\Stu_db.mdf',--数据文件的路径及名字
	SIZE=8mb,                    --初始大小
	MAXSIZE=unlimited,--最大上限,未指定就是不设定文件的上限,直到磁盘满
	FILEGROWTH=10%               --增量,可以用% 或者mb,但是不能超过最大上限
	),
	(name=Stu_db_1,
	filename='C:\database\Stu_db_1.ndf',
	size=8mb,
	maxsize=500mb,
	filegrowth=10mb
	)
log on
	(name=Stu_db_log,
	filename='C:\database\Stu_db_log.ldf',
	size=5mb,
	maxsize=20mb,
	filegrowth=1mb
	)

1.4 设计一种情景,阐述需要修改数据库的数据文件和日志文件,并修改它们。

增加一个次要数据文件。

use Stu_db
alter database Stu_db add file(
    name = 'x3',
    filename = 'C:database\Stu_db_2.ndf',
    size = 20mb,
    maxsize = 60mb,
    filegrowth = 5mb
)

修改日志文件大小

alter database Stu_db modify file(
    name = 'Stu_db_log',
    size = 300mb
)

2.  数据库表初步设计及实现

2.1 根据3.1的二维表,在数据服务器上用Transact-SQL语句创建相关的表。至少包含以下3个表以及合理的相关属性:学生表(至少含8个属性),班级表(至少含6个属性)和宿舍表(至少含5个属性)。三个表中属性的数据类型,包含数字型(整型和浮点型),字符串性(可变和不可变),日期型,货币等不同数据类型。

create table Student(
SID varchar(12) primary key,
sname varchar(50) not null,
sclass varchar(12),
sex char(2)check(sex in('男','女')),
age int,
Sdorm varchar(50),
tnum varchar(20) not null,
professional varchar(50)
);
create table Class(
CID varchar(12) primary key,
cname varchar(50) not null,
num tinyint,
professional varchar(50),
Cnum char(10) not null,
Counselor char(8) not null,
);
create table Dorm(
DID varchar(50) primary key,
Dname varchar(50) not null,
Dnum tinyint not null check(Dnum >= 0 and Dnum <= 8),
money int,
number tinyint not null check(number >= 0 and number <= 8)
);
2.2 考虑表相互间的约束条件和本身字段的约束条件,并实现。

学生与班级表 应当增加外键。

同理,学生和宿舍也通过外键来约束。

2.3 设计某种情景,要修改和删除表里面的约束条件,并实现。

2.4 三个表中,任选其中一个表,根据某种业务逻辑,创建索引。

2.5 使用SQL Server Management Studio,每个表至少输入3条有效数据。

2.6 请用两种不同方法,实现删除学生表和对应宿舍表中的数据(提示:级联删除)

在外键关系中更改设置,将更新规则和删除规则都设置为级联。

 或者在外键创建时通过代码建立级联

alter table Student add constraint FK_Student_Class foreign key(sclass) references Class(CID) on delete CASCADE on updata cascade;

2.7 请实现完全删除学生表和宿舍表(包含表数据及其定义)

进行删除操作时,应当确保与其相关的外键应当完全删除才能进行相关操作

删除表中数据

/******where后面跟条件******/
DELETE from tablename where condition

删除表中所有数据

删除整个表

drop table Student
drop table Dorm

3.  实现数据库的分离和附加

3.1  使用SQL Server Management Studio分离1.3所创建的数据库

3.2  附加分离的数据库

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值