SQL-2008实训含答案
- 格式:doc
- 大小:172.00 KB
- 文档页数:16
sql-server-2008-数据库应用与开发教程--课后习题参考答案SQL Server 2008数据库应用与开发教程(第二版)第一章习题参考答案1.简述SQL Server 2008系统中主要数据库对象的特点。
答:主要的数据库对象包括数据库关系图、表、视图、同义词、存储过程、函数、触发器、程序集、类型、规则和默认值等。
“表”节点中包含了数据库最基本、最重要的对象——表。
表实际用来存储系统数据和用户数据,是最核心的数据库对象。
“视图”节点包含了数据库中的视图对象。
视图是一种虚拟表,用来查看数据库中的一个或多个表,视图是建立在表基础之上的数据库对象,它主要以SELECT语句形式存在。
在“同义词”节点中包含了数据库中的同义词对象。
这是Microsoft SQL Server 2008系统新增的一种对象。
4.工作?答:(1) 增强物理安全性(2) 使用防火墙(3) 隔离服务(4) 禁用NetBIOS和服务器消息块5.SQL Server 2008支持哪两种身份验证?答:Windows 身份验证或混合模式身份验证。
6.如何注册和启动SQL Server 服务器?答:1. 注册服务器使用Microsoft SQL Server Management Studio工具注册服务器的步骤如下:(1) 启动Microsoft SQL Server Management Studio工具,选择“视图”|“已注册”命令或者按下快捷键Ctrl+Alt+G,在打开的“已注册的服务器”窗口中选中“数据库引擎”图标。
(2) 在“数据库引擎”上单击鼠标右键,从弹出的快捷菜单中选择“新建”|“服务器注册”命令,即可打开如图1-20所示的“新建服务器注册”对话框。
选择“常规”选项卡,可以在该选项卡中输入将要注册的服务器名称。
(3) 选择“连接属性”选项卡,如图1-21所示,在该选项卡中可以设置连接到的数据库、网络以及其他连接属性。
上机实训03 构建与管理数据库学号:_________ 姓名:______________综合实训1 学生信息管理数据库实训效果使用T-SQL语句创建数据库studentDB,并要求进行如下设置:其物理存放在D:\学号姓名文件夹中,数据文件stud_data的初始大小为5MB,文件增长量为2MB;日志文件stud_log的初始大小为2MB,文件增长量为10%。
(T-SQL语句):成果展示:维护数据库:(1)使用T-SQL语句向studentDB数据库中添加一个数据文件stud1_data,文件大小为2MB;(T-SQL语句):成果展示:(2)使用T-SQL语句向studentDB数据库中添加一个数据文件stud1_log,文件大小为1MB;成果展示:(3)使用T-SQL语句,将主数据文件stud_data的增长方式修改为10%。
(T-SQL语句):成果展示:(4)使用T-SQL语句,将日志文件stud_log的最大值修改为10MB。
(T-SQL语句):成果展示:(5)使用T-SQL语句,将删除日志文件stud1_log。
·2·成果展示:综合实训2 学生信息管理数据库学生成绩管理系统工作任务1. 创建学生成绩管理数据库-StudentDB任务描述利用T-SQL语句创建学生成绩管理系统的数据库StudentDB’,要求将数据文件student_data大小设置为5MB,增长方式为按增量2MB增长,无限制,日志文件student_log大小5MB,增长方式为自动增长,增量10%,存储路径为D:\学号姓名\下。
设计过程——用T-SQL创建数据库T-SQL语句:成果展示(截图):·3·2.创建相关的数据表任务描述利用Management Studio图形工具创建学生表,表名称及结构如下。
(1)表名:学生信息成果展示:·4·任务描述利用T-SQL语句创建课程表。
系统开发入门实习2 VISUAL C#2008/SQL Server2008员工信息管理系统一、新建项目1. 运行Visual Stutio2008,单击菜单“文件-新建-项目”,在弹出的对话框中选择“Visual C#-Windows窗体应用程序”模板,命名为SimpleCRM,确定。
2. 新建父窗体:右击项目名“添加-Windows窗体”,选择“MDI父窗体”,确定。
3. 设计父窗体:1)父窗体的Text属性值设置为:员工管理系统。
删除父窗体中原有的menuStrip和toolStrip 控件。
2)添加菜单。
从工具箱中拖放一个menuStrip菜单控件到父窗体中,分别添加员工管理和关于菜单。
并在菜单下分别添加员工管理、工资管理和关于、帮助子菜单。
3)删除原有代码。
按F7键打开代码页,删除MDIParent1部分类中除构造函数外的所有代码。
4)添加代码。
切换到窗体设计窗口,双击员工管理子菜单,在“员工管理ToolStripMenuItem1_Click”方法中添加如下代码。
Form1 form1 = new Form1();form1.MdiParent = this;form1.Show();5)将父窗体设置为首选执行窗体。
在解决方案资源管理器中打开“Program.cs”文件,将“form1”修改为“MDIParent1”6)修改父窗体和子窗体的Size。
父窗体Size改为1024,768。
子窗体改为800,600。
二、设计员工管理窗体员工管理窗体(Form1.cs)的功能包括:员工查询、员工添加、员工修改、员工删除。
主要操作数据库YGGL下的Employees表。
1)添加控件:2个GroupBox、4个Button、9个Label、9个TextBox、1个DataGridView。
调整控件布局,修改控件Text属性值。
2)DataGridView控件设置。
打开DataGridView的属性窗口,单击DataSource属性,添加项目数据源,弹出“数据源配置向导”对话框。
实验5 T-SQL编程1. 自定义数据类型新建一个数据类型ID_Type,用于描述员工编号。
新建一个表Employees3,表结构与Employees 表类似,EmployeeID列的数据类型使用自定义的数据类型。
方法1:使用系统内置的存储过程sp_addtype。
USE YGGLEXEC sp_addtype'ID_Type','char(6)','not null'GO方法2:使用CREATE TYPE语句USE YGGLGOCREATE TYPE ID_Type FROM char(6)NOT NULL;--查看可编程性-类型-用户定义数据类型中的变化IF EXISTS(SELECT name FROM sysobjects WHERE name='Employees3')DROP TABLE Employees3CREATE TABLE Employees3(EmployeeID ID_Type PRIMARY KEY,Name char(10)NOT NULL,Education char(4)NOT NULL,Birthday date NOT NULL,Sex bit NOT NULL DEFAULT 1,WorkYear tinyint NULL,Address varchar(40)NULL,PhoneNumber char(12)NULL,DepartmentID char(3)NOT NULL)GO2. 变量的使用(1)创建一个名为Female的用户变量,并在Employees表中查询所有女员工的编号、姓名、性别DECLARE@Female bit--定义变量,指定变量数据类型SET@Female=0 --为该变量赋初值SELECT EmployeeID,Name,Sex FROM Employees WHERE Sex=@Female;(2)定义一个变量,将员工编号为102201的员工的电话号码赋值给该变量DECLARE@Phone char(12)SET@Phone=(SELECT PhoneNumber FROM Employees WHERE EmployeeID='102201')SELECT a.*,@Phone FROM Employees a WHERE EmployeeID='102201';(3)定义一个变量,用于描述Salary表中000001号员工的实际收入,然后查询该变量DECLARE@RealIncome floatSET@RealIncome=(SELECT InCome-OutCome FROM Salary WHEREEmployeeID='000001')SELECT@RealIncome;3. 运算符的使用(1)查询员工的实际收入SELECT InCome-OutCome AS实际收入FROM Salary;(2)查询工作时间大于5年的员工信息SELECT*FROM Employees WHERE WorkYear>5;4.流程控制语句(1)判断Employees表中是否存在编号为111006的员工,如果存在,则显示该员工信息,如果不存在,则显示查无此人IF EXISTS(SELECT Name FROM Employees WHERE EmployeeID='111006') SELECT*FROM Employees WHERE EmployeeID='111006'ELSESELECT'查无此人'(2)判断姓名为“王林”的员工的实际收入是否高于3000元,如果是,则显示其收入,如果不是,则显示“收入不高于3000元”--先查找实际收入,再进行IF判断IF(SELECT b.InCome-b.OutCome AS实际收入FROM Employees a,Salary b WHERE a.EmployeeID=b.EmployeeID AND ='王林')>3000SELECT b.InCome-b.OutCome AS实际收入FROM Employees a,Salary b WHERE a.EmployeeID=b.EmployeeID AND ='王林'ELSESELECT'收入不高于元'(3)假设变量X的初始值为0,每次加1,直到X变为5,并打印输出DECLARE@X INTSET@X=0WHILE@X<5BEGINSET@X=@X+1PRINT'X='+CONVERT(char(1),@X)ENDGO(4)使用循环输出一个用’*’组成的三角形DECLARE@i INTDECLARE@n INTSET@n=10SET@i=1WHILE (@i<@n)BEGIN--SPACE函数:返回指定个数重复的空格组成的字符串--REPLICATE函数:以指定的次数重复字符表达式PRINT (SPACE((@n-@i)/2)+REPLICATE('*',@i))SET@i=@i+2ENDGO(5)使用CASE语句对Employees表按部门进行分类SELECT EmployeeID,DepartmentID=CASE DepartmentIDWHEN 1 THEN (SELECT DepartmentName FROM Departments b WHEREb.DepartmentID='1')WHEN 2 THEN (SELECT DepartmentName FROM Departments b WHEREb.DepartmentID='2')WHEN 3 THEN (SELECT DepartmentName FROM Departments b WHEREb.DepartmentID='3')WHEN 4 THEN (SELECT DepartmentName FROM Departments b WHEREb.DepartmentID='4')WHEN 5 THEN (SELECT DepartmentName FROM Departments b WHEREb.DepartmentID='5')ENDFROM Employees ORDER BY DepartmentID;5. 自定义函数的使用定义一个函数CHECK_ID:对于一个给定的DepartmentID值,查询该值在Departments表中是否存在,如果存在,则返回1,不存在,则返回0。
SQL2008课后习题答案实验71.存储过程1>创建存储过程,使⽤Employees表中的员⼯⼈数来初始化⼀个局部变量,并调⽤这个存储过程create procedure test @number1 int outputasbegindeclare @number2 intset @number2=(select COUNT (*)from Employees)set @number1=@number2end执⾏该存储过程,并查看结果;declare @num intexec test @num outputselect @num2>创建存储过程,⽐较两个员⼯的实际收⼊,若前者⽐后者⾼就输出0,否则输出1;create procedure COMPA @ID1 char(6),@ID2 char(6),@BJ int outputasbegindeclare @SR1 float,@SR2 floatselect @SR1=InCome-OutCome from Salary where EmployeeID=@ID1select @SR2=InCome-OutCome from Salary where EmployeeID=@ID2if @ID1>@ID2set @BJ=0elseset @BJ=1end执⾏该存储过程,并查看结果;declare @BJ intexec COMPA '000001','108991',@BJ outputselect @BJ3>创建添加职员记录的存储过程EmploeeAdd;create procedure EmployeeAdd(@EmployeeID char(6),@Name char(10),@Education char(4),@Birthday datetime,@WorkYear tinyint,@Sex bit,@Address char(40),@PhoneNumber char(12),@DepartmentID char(3))asbegininsert into Employeesvalues(@EmployeeID,@Name,@Education,@Birthday,@WorkYear,@Sex,@Address,@PhoneNumber,@DepartmentID) endreturngo执⾏该存储过程;exec EmployeeAdd '990230','刘朝','本科','840909',2,1,'洪武⼩洪⼭5号','85465213','3'4>创建⼀个带有output游标参数的存储过程,在Employees表中声明并打开⼀个游标;create procedure em_cursor @em_cursor cursor varying outputasbeginset @em_cursor=CURSOR forward_only staticFORselect * from Employeesopen @em_cursorend声明⼀个局部游标变量,执⾏上述存储过程,并将游标赋值给局部游标变量,然后通过该游标变量读取记录;declare @MyCursor cursorexec em_cursor @em_cursor=@MyCursor outputfetch next from @MyCursorwhile (@@FETCH_STATUS=0)beginfetch next from @MyCursorendclose @MyCursordeallocate @MyCursorgo5>创建存储过程,使⽤游标确定⼀个员⼯的实际收⼊是否排在前三名。
《数据库实用技术SQL Server 2008》拓展练习参考答案第二章一、选择题1.C2.D3.A4.A5.C6.C7.B8.C二、填空题1.数据库系统2.共享性3. 数据操纵语言DML4.联系三、简答题1.答:数据库系统是在计算机系统中引入数据库后的一个人-机系统,数据库系统主要由计算机、操作系统、DBMS、数据库、应用程序等组成。
2.答:数据库系统的三级模式是指外模式、模式和内模式。
外模式是特定数据库用户的数据视图,是与某一具体应用相关的数据局部逻辑结构的描述。
模式是数据库中全体数据的总体逻辑结构描述,是所有用户的公共数据视图。
内模式是数据物理结构和存储方式的描述,定义数据在数据库内部的表示方式。
数据库系统的三级模式提供了三个层次的数据抽象。
这样做的一个优点是可以隐蔽数据存储细节和内部复杂性,保护了数据库安全性,简化系统的用户界面。
另一个优点是可以带来数据的独立性。
3.答:数据库设计分6个阶段:需求分析、概念设计、逻辑设计、物理设计、应用开发和运行维护阶段。
需求分析阶段:需求分析是整个数据库设计的基础,进行数据库设计首先要在给定的应用环境下,了解与分析用户的各种应用需求,形成需求说明书。
概念设计阶段:概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳和抽象,形成独立于任何数据库管理系统的概念模型。
概念设计的结果通常用E-R模型来描述。
逻辑设计阶段:逻辑设计是整个数据库的模式设计,是将概念设计的E-R图转换成具体数据库管理系统所支持的数据模型,并对数据进行优化处理,根据用户处理的要求,以及安全性的考虑,形成数据库的全局逻辑模式、外模式的过程。
物理设计阶段:物理设计就是确定数据库的存储结构。
主要任务包括:确定数据库文件和索引文件的记录格式和物理结构,选择存取方法,决定访问路径和外存储器的分配策略等,形成数据库的内模式。
应用开发阶段:运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试服务器端和客户端的各应用程序,组织数据入库并运行,做好数据库的转储和恢复工作。
第三章习题及实验答案习题答案一、选择题1、A2、A3、C二、填空题1、程序2、MIN、SUM3、CONTINUE、BREAK三、简答题1、可以使用的运算符可以分为算术运算符、逻辑运算符、赋值运算符、字符串串联运算符、按位运算符、一元运算符及比较运算符等。
2、用户自定义函数可分为:标量函数和表值函数。
可使用CREATE FUNCTION语句创建函数,在调用用户自定义函数时,如果调用的是标量函数,则必须提供架构名。
如果调用的是表值函数,则可以不提供架构名。
用户可以将调用的函数用在赋值语句中,或作为表达式的操作数,或用在SQL命令中。
3、批处理是包含一个或多个Transaction-SQL语句的组,从应用程序一次性的发送到SQL Server执行。
批处理是使用GO语句将多条SQL语句进行分隔,其中每两个GO之间的SQL 语句就是一个批处理单元。
一个批处理中可以包含一条语句,也可以包含多条语句。
4、在SQL Server系统中,可以使用的流程控制语句有BEGIN…..END、IF…ELSE、CASE、WHILE…..CONTINUE….BREAK、GOTO、W AITFOR、RETURN等。
BEGIN…..END….: 在条件语句和循环语句等流程控制语句中,当符合特定条件需要执行两个或多个语句时,就应该使用BEGIN…END语句将这些语句组合在一起。
IF…..ELSE….: IF….ELSE语句是条件判断语句。
CASE:用于多重选择的条件判断语句,结果返回单个值。
在CASE中可根据表达式的值选择相应的结果。
WHILE…..CONTINUE….BREAK: SQL语言中的循环语句,用来重复执行SQL语句或语句块。
GOTO: SQL程序中的无条件跳转语句,可以使程序直接跳到指定的标识符位置处继续执行。
WAITFOR: SQL中起暂停正在执行的语句、语句块或者存储过程的调用,直到某时间、时间间隔到达后才继续执行。
数据库技术与应用SQLServer2008第4章习题参考答案第4章习题解答1.思考题(1)在SQL的查询语句SELECT中,使用什么选项实现投影运算?什么选项实现连接运算?什么选项实现选择运算?答:在SQL的查询语句中,select选项实现(投影)运算,from选项实现(连接)运算,where选项实现(选择)运算。
(2)一个子SELECT的结果作为查询的条件,即在一个SELECT 语句的WHERE子句中出现另一个SELECT语句,这种查询称为什么查询?其功能是什么?答:称为嵌套查询。
嵌套查询是T-SQL语言的高级查询,它可以用多个简单的基本查询构成复杂的查询,从而增强其查询功能。
(3)在SELECT语句中,定义一个区间范围的特殊运算符是什么?检查一个属性值是否属于一组值中的特殊运算符又是什么?答:在SELECT 语句中,定义一个区间范围的特殊运算符是BETWEEN,检查一个属性值是否属于一组值的特殊运算符是IN。
(4)在T-SQL语句中,与表达式“工资BETWEEN 2000 AND 5000”功能相同的表达式如何写?答:工资>=2000 AND 工资<=5000(5)语句“SELECT * FROM 成绩表WHERE 成绩>(SELECT avg(成绩) FROM 成绩表)”的功能是什么?答:查询成绩表中所有成绩大于平均成绩的记录2.选择题(1)在SELECT语句中,需显示的内容使用“*”,则表示(B)。
A.选择任何属性B.选择所有属性C.选择所有元组D.选择主键(2)查询时要去掉重复的元组,则在SELECT语句中使用(D)。
A.All B.UNION C.LIKE D.DISTINCT(3)在SELECT语句中使用GROUP BY C_NO时,C_NO必须(C)。
A.在WHERE子句中出现B.在FROM子句出现C.在SELECT子句中出现D.在HAVING子句中出现(4)使用SELECT语句进行分组查询时,为了去掉不满足条件的分组,应当(B)。
SQL Server 2008 实验指导课后作业问题一:创建数据库1.使用以下 SQL 语句创建一个名为myDB的数据库。
CREATE DATABASE myDB;2.使用以下 SQL 语句查询系统中的所有数据库。
SELECT name FROM sys.databases;问题二:创建表格1.在myDB数据库中,创建一个名为students的表格,包含以下字段:–id:学生编号,整数类型,主键;–name:学生姓名,字符串类型;–age:学生年龄,整数类型;–gender:学生性别,字符串类型。
USE myDB;CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(100),age INT,gender VARCHAR(10));2.使用以下SQL 语句查询students表格的结构信息。
EXEC sp_columns students;问题三:插入数据1.使用以下SQL 语句向students表格插入一条记录。
INSERT INTO students (id, name, age, gen der)VALUES (1, '张三', 20, '男');2.使用以下 SQL 语句查询students表格中的所有记录。
SELECT*FROM students;问题四:更新数据1.使用以下 SQL 语句更新students表格中的一条记录。
UPDATE studentsSET age =21WHERE id=1;2.使用以下 SQL 语句查询更新后的students表格中的记录。
SELECT*FROM students;问题五:删除数据1.使用以下 SQL 语句删除students表格中的一条记录。
DELETE FROM studentsWHERE id=1;2.使用以下 SQL 语句查询删除后的students表格中的记录。
1.6 综合实训实训名称SQL Server 2008常用工具的使用。
实训任务(1) 启动并使用SQL Server Management Studio。
(2) 启动并使用SQL Server配置管理器。
实训目的(1) 掌握SQL Server Management Studio的基本操作方法。
(2) 掌握SQL Server配置管理器的基本操作方法。
实训环境Windows Server平台及SQL Server 2008系统。
实训内容(1) 用SQL Server 2008的SSMS更改服务的状态。
(2) 用SQL Server 2008的配置管理器更改登录身份。
实训步骤操作具体步骤略,请参考相应案例。
实训结果在本次实训操作结果的基础上,分析总结并撰写实训报告。
实训步骤操作具体步骤略,请参考相应案例。
实训结果在本次实训操作结果的基础上,分析总结并撰写实训报告。
1.7 拓展项目安装自己的SQL Server 2008管理系统,并根据需求对系统进行合理配置。
2.6 综合实训实训名称创建并管理学生信息管理数据库(Students)。
实训任务(1) 使用SSMS对学生信息管理数据库(Students)进行创建、修改与删除等操作。
(2) 使用T-SQL命令对学生信息管理数据库(Students)进行创建、修改与删除等操作。
实训目的(1) 规划学生信息管理数据库(Students)的主数据文件、辅助数据文件与日志文件的名称、大小、增长方式与存储路径等属性。
(2) 在SSMS中完成学生信息管理数据库(Students)从创建、修改、分离、附加,直到删除的完整过程。
(3) 使用T-SQL语句完成学生信息管理数据库(Students)的创建、修改与删除等操作。
实训环境Windows Server平台及SQL Server 2008系统。
实训内容Students数据库,该数据库包含一个主数据文件逻辑名‘StuInfo data1’,物理名‘C:\DATA\StuInfo data1.mdf’,初始容量3MB,最大容量10MB,每次增长量为15%;一个辅助数据文件逻辑名‘StuInfo data2’物理名‘D:\DATA\StuInfo data2.ndf ’,初始默认,最大容量不受限,每次增长量为2MB;一个事务日志文件逻辑名‘StuInfo log’物理名‘D:\DATA\StuInfo log.ldf ’,其他参数默认。
(1) 使用SSMS创建该数据库,创建完成后即可在通过SSMS对其进行删除。
(2) 使用T-SQL语句创建该数据库,可使用最简单的语句实现以上功能。
(3) 使用T-SQL语句对该数据库进行修改,创建一个新的文件组newgroup,并在其中添加一个辅助数据文件,逻辑名为‘StuInfoAdd’,与前一数据文件放在同一目录下,初始大小为5M;添加一个事务日志文件,逻辑名为‘StuInfoLogAdd’,与前一日志文件放在同一目录下。
(4) 使用系统存储过程查看数据库信息。
(5) 使用系统存储过程修改数据库设置信息,将“自动收缩(AUTO SHRINK)”属性设置为TRUE。
(6) 使用SSMS和T-SQL两种方式对数据库进行分离操作。
(7) 用最简单的T-SQL语句创建数据库CeShi,创建成功后对数据库进行删除操作。
实训步骤操作具体步骤略,请参考相应案例。
实训结果在本次实训操作结果的基础上,分析总结并撰写实训报告。
参考答案(2)create database Students on(name= StuInfodata1, 'C:\DATA\StuInfodata1.mdf', size=3, maxsize=10MB, ), (name= StuInfodata2, 'D:\DATA\StuInfodata2.ndf',)log on(name= StuInfolog, 'D:\DATA\StuInfolog.ldf')go(3)--1alter database Students add newgroupgo--2alter database Students add file(name=StuInfoAdd, 'D:\DATA\StuInfoAdd.ndf',size=5) to newgroupgo--3alter database Students add log file(name=StuInfoLogAdd, 'D:\DATA\StuInfoLogAdd.ldf')Go(4) EXEC sp_helpdb Students(5) EXEC sp_dboption Students, AUTOSHRINK, TRUE2.7 拓展项目根据需求规划和创建corperation_msg(企业即时通)数据库,并对数据库文件实施修改操作,通过数据库的分离将数据库转移到其他数据库管理系统中。
3.6 综合实训实训名称绘制E-R图。
实训任务绘制学生信息管理数据库(Students)E-R图。
实训目的理解E-R图三要素,绘制E-R图。
实训环境Windows Server平台及SQL Server 2008系统。
实训内容涉及的实体有:●学生基本信息,属性有学号、姓名、性别、身份证号码、手机号码、考试科目数、所在班级。
●课程信息,属性有课程编号、课程名称、学分、课时数。
●成绩信息,属性有学号、课程号、考试次数、考试时间、考试成绩。
(1) 绘制出各实体属性E-R图。
(2) 绘制出全局E-R图,标注出实体间的联系。
实训步骤操作具体步骤略,请参考相应案例。
实训结果在本次实训操作结果的基础上,分析总结并撰写实训报告。
3.7 拓展项目绘制corperation_msg(企业即时通)数据库E-R图。
4.6 综合实训实训名称设计学生管理数据库(Students)中各表的列的数据类型和约束。
实训任务(1)根据实际情况,设计StudInfo、CourseInfo和Score三个数据表中列的数据类型。
(2)设计StudInfo、CourseInfo和Score三个数据表中列的约束。
实训目的(1) 掌握给数据表的列设定合理的数据类型(2) 掌握给数据表的列添加必要的约束。
实训环境SQL Server 2008系统。
实训内容(1)假设根据数据库的设计需求,已经将StudInfo、CourseInfo和Score的表的列列出,请根据实际情况确定各列的数据类型和约束条件。
(2)在教师的指导下,完成StudInfo表在SQL Server 2008中的设计,具体操作将在第五章中讲解。
实训步骤操作具体步骤略,请参考相应案例。
实训结果在本次实训操作结果的基础上,分析总结并撰写实训报告。
5.6 综合实训实训名称创建并管理学生信息管理数据库(Students)的所有表结构。
实训任务(1) 使用SSMS对学生信息管理数据库(Students)的3个表进行创建、修改与删除等操作。
(2) 使用T-SQL命令对学生信息管理数据库(Students)的3个表进行创建、修改与删除等操作。
实训目的(1) 掌握SSMS创建与管理表结构的基本操作方法。
(2) 掌握创建与管理表结构的T-SQL命令的格式与用法。
实训环境Windows Server平台及SQL Server 2008系统。
实训内容(3) 使用T-SQL语句完成3个表结构的定义、修改与表的删除等基本操作。
实训步骤操作具体步骤略,请参考相应案例。
实训结果在本次实训操作结果的基础上,分析总结并撰写实训报告。
参考答案Use StudentsgoCreate table StudInfo(StudNo char(12) not null primary key,Name char(8) not null,Sex bit not null default 0,IdNo char(18) not null unique,Mobile char(11),CourseNum int default 0,ClassName char(10) not null,constraint ck_StudInfo_Sex check(sex=0 or sex=1))GoCreate table CourseInfo(CourseNo char(6) not null primary key,CourseName varchar(20) not null,CourseXF int not null,CourseKS int not null)GoCreate table Score(StudNumber char(12) not null,CourseNumber char(6) not null,Times int not null default 1,KSTime datetime not null,Score decimal(5,2),Constraint pk_Score primary key(StudNumber, CourseNumber, Times),Constraint fk_Score_StudInfo_StudNo foreign key(StudNumber) references StudInfo(StudNo),Constraint fk_Score_CourseInfo_CourseNumber foreign key(CourseNumber) references CourseInfo(CourseNo),Constraint ck_Score_Score check(Score>=0 and Score<=100))Go5.7 拓展项目根据corperation_msg(企业即时通)数据库的表关系示意图(图5.9所示,其中每个表所含有的字段为参考内容,可根据需求进行增减),设计数据库中表的结构,注意确定表的主次关系、字段类型、字段长度、约束定义等内容的定义。
图5.9 corperation_msg(企业即时通)数据库的表关系示意图6.6 综合实训实训名称输入并编辑学生信息管理数据库(Students)的表数据内容。
实训任务(1) 使用SSMS对学生信息管理数据库(Students)表的记录进行输入、修改与删除等基本操作。
(2) 使用T-SQL命令对学生信息管理数据库(Students)表的记录进行输入、修改与删除等基本操作。
实训目的(1) 掌握SSMS输入与管理表数据的基本操作方法。
(2) 掌握输入与管理表数据的T-SQL命令的格式与用法。
实训环境Windows Server平台及SQL Server 2008系统。