实验一 SQL数据库的建立

该文详细描述了如何在SQLServer2016中使用SQLServerManagementStudio创建名为S+学号的数据库,并定义了Employee、Departments和Salary三个表的结构,包括主键、外键、唯一性和空值约束。接着,文中给出了具体的SQL语句用于插入数据到这些表中,涉及员工信息如姓名、部门、电话和薪水等详情。
摘要由CSDN通过智能技术生成

一、实验目的及要求

1、熟悉SQL Server中SQL Server Management Studio的环境

2、掌握使用SQL方式来创建和删除数据库及数据表的方法

3、会向表中添加数据

二、实验环境

SQL Server 2016中SQL Server Management Studio

三、实验内容

1、创建数据库,数据库的名称统一为:“S+学号”,例如“S1234567890”。

2、创建如下三个关系模式,并给出三个表创建的SQL语句,要求建表时给出主外键约束、唯一约束、取空值约束、用户自定义的约束等;

3、按下表插入数据。

(1)Employee表

列名

数据类型

长度

是否允许为空

说明

EmployeeID

Char

4

员工编号,主键

Name

Char

10

姓名

Birthday

Date

3

出生日期

Sex

Bit

1

性别

Address

Char

20

地址

Zip

Char

6

邮编

PhoneNumber

Char

12

电话号码(唯一)

EmailAddress

Char

30

电子邮件地址(唯一)

DepartmentID

Char

3

员工部门号,外键

(2)Departments表

列名

数据类型

长度

是否允许为空

说明

DepartmentID

Char

3

员工部门号,主键

DepartmentName

Char

20

部门名(唯一)

Note

Text

16

备注

(3)Salary表

列名

数据类型

长度

是否允许为空

说明

EmployeeID

Char

4

员工编号,外键, 主键

Income

Float

8

收入

OutCome

Float

8

支出

Sdate

Date

3

主键

3. 对以上建立的3个表输入如下数据:

  Departments表:

DepartmentID

DepartmentName

Note

1

财务部

财务部

2

研发部

研发部

3

人力资源部

人力资源部

 Employee表:(性别“1”表示女,性别“0”表示男,)

EmployeeID

Name

Birthday

Sex

Address

Zip

PhoneNumber

EmailAddress

DepartmentID

1001

李勇

1978-3-12

0

河南郑州

475001

3880378

ly@henu.edu.cn

1

1002

王敏

1980-11-2

1

河南新乡

475002

0378311

wm@henu.edu.cn

1

1003

刘晨

1978-6-22

0

北京

475003

0378322

lc@henu.edu.cn

1

1004

周宏

1983-10-3

1

河北廊坊

475004

7865987

zh@ henu.edu.cn

1

2001

张立

1998-8-1

0

北京

475005

0378333

zl@henu.edu.cn

2

2002

刘毅

1988-1-23

0

江苏南京

475006

0378344

lyy@henu.edu.cn

2

2003

张玫

1981-3-15

1

陕西西安

475007

0378355

zm@henu.edu.cn

2

2004

王军

1979-5-12

0

山东威海

475008

5687967

wj@henu.edu.cn

2

3001

徐静

1990-8-12

1

山东青岛

475009

0378366

xj@henu.edu.cn

3

3002

赵军

1979-2-19

0

陕西榆林

475010

0378377

zj@henu.edu.cn

3

3003

王霞

1982-8-18

1

陕西延安

475011

7556677

wx@henu.edu.cn

3

Salary表:

EmployeeID

Income

OutCome

Sdaate

1001

3600

1500

2020-01-01

1002

3300

1000

2020-01-01

1001

3700

1200

2020-02-01

1002

4500

1600

2020-02-01

2001

4000

1600

2020-01-01

2002

3800

1800

2020-01-01

2003

3800

1500

2020-01-01

2004

5100

1800

2020-01-01

3001

4200

2000

2020-03-01

3002

4100

1800

2020-03-01

3003

4600

1400

2020-03-01

[源程序清单]

CREATE DATABASE S2131051143;

go

use S2131051143;

create table Departments

(

DepartmentID Char(3) not null PRIMARY KEY,

DepartmentName   Char(20)not null UNIQUE,

Note Text,

);

insert into Departments values

('1','财务部','财务部'),

('2','研发部','研发部'),

('3','人力资源部','人力资源部');

CREATE TABLE Employee

(

EmployeeID Char(6) not null PRIMARY KEY,

Name Char(10) not null,

Birthday Date not null,

Sex Bit not null,

Address Char(20),

Zip Char(6),

PhoneNumber char(12) UNIQUE,

EmailAddress char(30) UNIQUE,

DepartmentID char(3) not null ,

 foreign key(DepartmentID) references Departments(DepartmentID)

);

insert into Employee values

('1001','李勇','1978-3-12',0,'河南郑州','475001','3880378','ly@henu.edu.cn','1'),

('1002','王敏','1980-11-2',1,'河南新乡','475002','0378311','wm@henu.edu.cn','1'),

('1003','刘晨','1978-6-22',0,'北京','475003','0378322','lc@henu.edu.cn','1'),

('1004','周宏','1983-10-3',1,'河北廊坊','475004','7865987','zh@ henu.edu.cn','1'),

('2001','张立','1998-8-1',0,'北京','475005','0378333','zl@henu.edu.cn','2'),

('2002','刘毅','1988-1-23',0,'江苏南京','475006','0378344','lyy@henu.edu.cn','2'),

('2003','张玫','1981-3-15',1,'陕西西安','475007','0378355','zm@henu.edu.cn','2'),

('2004','王军','1979-5-12',0,'山东威海','475008','5687967','wj@henu.edu.cn','2'),

('3001','徐静','1990-8-12',1,'山东青岛','475009','0378366','xj@henu.edu.cn','3'),

('3002','赵军','1979-2-19',0,'陕西榆林','475010','0378377','zj@henu.edu.cn','3'),

('3003','王霞','1982-8-18',1,'陕西延安','475011','7556677','wx@henu.edu.cn','3');

create table Salary

(

EmployeeID Char(6) not null ,

Income FLoat(8) not null,

OutCome Float(8) not null,

Sdate Date not null ,

foreign key(EmployeeID) references Employee(EmployeeID)

);

alter table Salary add primary key(EmployeeID,Sdate)

insert into Salary values

('1001',3600,1500,'2020-01-01'),

('1002',3300,1000,'2020-01-01'),

('1001',3700,1200,'2020-02-01'),

('1002',4500,1600,'2020-02-01'),

('2001',4000,1600,'2020-01-01'),

('2002',3800,1800,'2020-01-01'),

('2003',3800,1500,'2020-01-01'),

('2004',5100,1800,'2020-01-01'),

('3001',4200,2000,'2020-03-01'),

('3002',4100,1800,'2020-03-01'),

('3003',4600,1400,'2020-03-01');

建立环境实验数据库/表 实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的 通过本实验的学习,使学生熟悉SQL Server 2014的集成环境,帮助学生掌握数据库、表的建立方法以及SQL Server的数据导入方法 二、实验内容    (一)、SQL Server 2014的安装 SQL Server2014的安装过程与 SQL Server 2008、SQL Server2012的安装过程类似,都提供了一个功能树以用来安装所有 SQL Server 组件,包括计划、安装、维护、工具、资源、高级、选项等功能。下面是各功能选项所包含的内容,如图3-1所示。 图3-1 安装计划的内容 (1)选择“安装”功能,因为要创建SQL Server 2014的全新安装,单击“全新SQL Server 2014独立安装或向现有安装添加功能”选项,如图3-2所示。 图3-2 “安装”功能的内容 (2)在“产品密匙”页上,选择相应的单选按钮,这些按钮指示是安装免费版本的SQL Server还是具有产品密匙的产品版本,如果使指免费的评估版,只有180天的试用期限,如图3-3所示。 图3-3 “产品密钥”界面 (3)在“许可条款”页上阅读许可协议,然后选相应的复选框以接受许可条款和条件。如图3-4所示。 图3-4 “许可条款”界面 (4)系统进行安装程序支持规则检查,以确定安装SQL Server安装程序支持文件时可能发生的问题。必须更正所有的失败,安装程序才能继续。如图3-5所示。 图3-5 “安装规则”界面 (5)在“设置角色”页上选择SQL Server功能安装,如图3-6所示。 图3-6 “设置”角色界面 (6)在“功能选择”页上选择要安装的组件。选择功能名称后,右侧窗体会显示每个组件的说明。可以根据实际需要,选一些功能,如图3-7所示。一般应用可选择“数据库引擎服务”、“客户端工具连接”、“SQL客户端连接”和“管理工具”等选项。 图3-7“功能选择”界面 (7)在“实例配置”页上制定是安装默认实例还是命名实例,对于默认实例,实例的名称和ID都是MSSQLSERVER,也可以自己“命名实例”安装实例,如图3-8所示。SQL Server支持多个实例,即支持在同一台计算机上同时运行多个SQL Server数据库引擎实例,每个SQL Server数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。应用程序连接同一台计算机上的SQL Server数据库引擎实例的方式与连接其它计算机上运行的SQL Server数据库引擎的方式基本相同。 图3-8 “实例配置”界面 (8)在“服务器配置”页上指定SQL Server服务的登录帐户。SQL Server提供了多种服务,可以为所有SQL Server服务分配相同的登录账户,也可以分别配置每个服务账户。还可以指定服务是自动启动、手动启动还是禁用。Microsoft建议对各服务账户进行单独配置,以便为每项服务提供最低特权,即向SQL Server服务授予它们完成各自任务所需的最低权限,如图3-9所示。SQL Server的每个服务代表一个进程或一组进程,每个进程需要有访问SQL Server相关文件和系统注册表的权限,为了能让SQL Server服务在操作系统正常的启动和运行,就需要指定SQL Server的服务帐户,所以服务帐户指的是Windows操作系统的帐户。 图3-9 “服务器配置”界面 (9)在“数据库引擎配置”的“服务器配置”页上指定身份验证模式、用户名、密码,如图3-10所示。这里的用户身份验证指的是登录到服务器使用的身份验证模式及用户名和密码。身份验证模式分为“Windows身份验证模式”和“混合模式(SQL Server身份验证和Windows身份验证)”。如果选择“Windows身份验证模式”表示则只能使用Windows的帐号登录,即使用当前登录到操作系统的帐号进行登录,通过这种方式用户登录到SQL Server时不再需要输入帐号和密码。如选择“混合模式(SQL Server身份验证和Windows身份验证)”表示除了可以用使用登录到Windows的帐号作为登录的依据外,还可以使用SQL Server系统的帐号登录,这里必须为内置SQL Server系统管理员账户(SA)提供一个强密码。必须至少为SQL Server实例指定一个系统管理员。若要添加用以运行SQL Server安装程序账户,则要单击“添加当前用户”按钮。若要向系统管理员列表添加账户或从删除账户,则单击“添加…”或“删除…”按钮,然后编辑将拥有SQL Server实例的管理员特权的用户、组或计算机列表。 图3-10 设置身份验证模式和管理员 (10)在“准备安装”页显示安装过程的安装选项的树视图,如图3-11所示。若要继续,单击“安装”按钮。在安装过程,“安装进度”页会提供相应的状态,因此可以在安装过程监视安装进度。 图3-121“准备安装”界面 (11)安装完成后,“完成”页提供指向安装日志文件摘要以及其他重要说明的链接。如图3-12所示。 图3-12 “安装完成”界面 (二)、建库建表练习      1、利用语句建库和建表: 创建学生数据库StuDB,文件名和位置自定,在此数据库创建如下三张表: 学生表(student) (   学号(sno) 普通编码定长字符类型,长度9,主码,   姓名(sname) 普通编码定长字符类型,长度10,非空,   性别(ssex) 统一编码定长字符类型,长度2,   年龄(sage) 微整型,   所在系(sdept) 统一编码可变长字符类型,长度20 ) 课程表(course) (   课程号(cno) ,通编码定长字符类型,长度4,主码,   课程名(cname) 统一编码定长字符类型,长度,40,非空,   开课学期(Semester) 短整数, 学分(credit) 短整数 ) 修课表(sc)(   学号(sno) 普通编码定长字符类型,长度7,主码,外码   课程号(cno) 普通编码定长字符类型,长度6,主码,外码   成绩(grade) 小整型,   修课类别(ctype)普通编码定长字符类型,长度4 ) 2、建立“汽车”数据库,文件名和位置自定,在此数据库创建如下三张表: 汽车表(CarT),结构如下:   汽车序号(CId) 整型 主关键字,   汽车名称(CName) 普通编码定长字符类型 长度为10  非空,   型号(CType)普通编码变长字符类型 长度为60  非空,   价格(CPrice) 整型,   车身眼色(Ccolor)普通编码变长字符类型 长度为20。 部门表(DepartT),结构如下:   部门序号(DId)整型 主关键字,   部门名(DName)普通编码定长字符类型 长度为20   非空,   负责人名(DLead)普通编码定长字符类型 长度为10  非空,   人数(DAmount) 整型。 汽车出厂表(FacT),结构如下:   汽车序号(CID) 整型 非空,   部门序号(DId) 整型 非空,   出厂日期(FDate)小日期时间型 非空,   出厂数量(FAmount) 整型,   出厂价格(FPrice) 整型。   其:主关键字为(汽车序号,部门序号,出厂日期)   “汽车序号”为引用汽车表的“汽车序号”的外部关键字; “部门序号”为引用部门表的“部门序号”的外部关键字。 3、使用数据库的可视化工具建库建表 建立银行贷款表,具体要求同课堂教学的建库建表一致。 银行表(BankT)( 银行代码(Bno) 主键 银行名称(Bname) 非空 电话(Tel) ) 法人表(LET)( 法人代码(Eno)主键 法人名称(Ename)取值唯一 经济性质(Enature) 注册资金(Ecapital) 法定代表人(Erep) ) 贷款表(LoanT)( 法人代码(Eno) 银行代码(Bno) 贷款日期(Ldata) 贷款金额(Lamount) 贷款期限(Lterm) )        (三)、数据导入练习 将“学生数据库数据.xls”的数据导入到学生数据库的三张表。 将“银行贷款数据.xls”的数据导入到银行贷款数据库的三张表。 三、实验报告 将实验结果反映在实验报告,并对实验遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值