数据库原理及应用学习与实践指导 SQL Server 2012
图11-54验证SQL数据库脚本
9.2.3 实验练习
本次实验是基于某学校教务系统数据库进行建模操作,该数据库有6个数据表,其中4个实体表和2个关系表,实体表为:学院表(department)、学生表(student)、老师表(teacher)、课程表(course);关系表为:老师开课表(teacher_course),学生选课表(student_teacher_course)。
通过分析数据表单及业务功能,可得出初步模型图,如图11-55所示:
图11-55 某学校教务系统数据模型图
使用前面讲的方法建立学院(department)、学生(student)、老师(teacher)、课程(course)4 个Entity 对象,及老师开课(teacher_course),学生选课(student_teacher_course)两个association联系对象
。
第11章 数据库应用实验指导
具体要求如下:
添加每个实体的属性。
添加各个实体之间的关系。
绘制完毕后对概念模型图进行检查。 选择SQLServer数据库生成物理模型图。 最后生成SQL Sever对应的SQL脚本。
建立好一个数据库,验证SQL脚本的正确性。 实验注意事项
(1)让学生认真熟悉PowerDesigner 12.5建模工具的使用方法。 (2)正确添加每个实体及其它们的属性。 (3)正确建立各个实体之间的关系。
(4)学生应在老师的指导和检查下按时完成上机任务。
11.3实验三 SQL常用数据操作 11.3.1实验目的
(1) 理解SQL语言概念和特点; (2)熟悉SQL2012功能; (3)掌握SQL数据类型及应用; (4)熟悉表的创建与管理;
(5)熟练掌握数据查询方法和数据编辑 11.3.2 实验内容
(1)创建数据库和修改数据库 (2)创建数据库表和修改数据库表 (3)插入数据库记录和修改数据库记录 (4)数据查询方法 11.3.3实验步骤
1.创建数据库和修改数据库
(1)创建一个teachingSystem数据库,该数据库的主数据文件逻辑名称为teachingSystem,物理文件名为teachingSystem.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为teachingSystem_log,物理文件名为teachingSystem_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。
注意:数据文件应该尽量不保存在系统盘上并与日志文件保存在不同的磁盘区域。 实验操作步骤;
建立数据库有两种方法,一种是使用T-SQL语句,另一种是通过SSMS图形界面来实现,下面就两种方法分别进行操作。
使用T-SQL语言:单击SSMS工具栏的“新建查询”,打开查询窗口,输入下列SQL语句,并在工具栏上单击“执行”按钮,即可建立要求的数据库。
CREATE DATABASE teachingSystem
ON PRIMARY --建立主数据文件 ( NAME = 'teachingSystem', --逻辑文件名
FILENAME='E:\\ teachingSystem.mdf', --物理文件路径和名字 SIZE=10240KB, --初始大小
MAXSIZE = UNLIMITED, --最大尺寸为无限大 FILEGROWTH = 10%) --增长速度为% LOG ON
数据库原理及应用学习与实践指导 SQL Server 2012
( NAME='teachingSystem_log', --建立日志文件
FILENAME='E:\\teachingSystem_log.ldf', --物理文件路径和名字 SIZE=1024KB,
MAXSIZE = 5120KB, FILEGROWTH = 1024KB )
使用SSMS图形界面方法:在“对象资源管理器”窗口中,右击“数据库”文件夹,从弹出的快捷菜单中选择“新建数据库”选项,如下图11-56所示。
图11-56 新建数据库
在窗口中根据提示输入该数据库的相关内容,如数据库名称、所有者、文件初始大小、自动增长值和保存路径等。
数据库名称:可以使用字母、数字、下划线或短线。例如:teachingSystem
所有者:数据库的所有者可以是任何具有创建数据库权限的登录名。例如:选择其为<默认值>账户,该账户是当前登录到SQL Server上的账户。
文件名(窗口右侧没显示出的部分):用于存储数据库中数据的物理文件的名称,默认情况下,SQL Server用数据库名称来创建物理文件名。例如:teachingSystem
数据库文件逻辑名称:引用文件时使用。
文件类型:显示文件是数据文件,还是日志文件,数据文件用来存放数据,而日志文件用来存放对数据所做操作的记录。
文件组:为数据库中的文件指定文件组,主文件组(PRIMARY)或任一辅助文件组(SECONDARY)。所有数据库都必须有一个主文件组。
初始大小:数据库的初始大小至少是MODEL数据库的大小。例如:3MB。
自动增长:显示SQL Server是否能在数据库到达其初始大小极限时自动应对。单击右边带有省略号(?)的命令按钮,如下图所示,设置是否启动自动,文件增长方式,最大文件大小。默认是“不限制文件增长”,其好处是可以不必过分担心数据库的维护,但如果一段“危险”的代码引起了数据的无限循环,硬盘可能会被填满。因此,当一个数据库系统要应用到生产环境中时,应设置“限制文件增长(MB)”选项以防止出现上述的情形。
可以创建次数据文件来分担主数据文件的增长。
例如:文件按10%的比例增长,限制最大文
件大小为10MB。如图11-57所示。 图11-57 更改Test的自动增长设置
第11章 数据库应用实验指导
路径:数据库文件存放的物理位置,默认的路径是C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Data。单击右边带有省略号(?)的命令按钮,打开一个资源管理器风格的对话框,可以在该对话框中更改数据库文件的位置。
在选项页框中,可设置数据库的排序规则,恢复模式,兼容级别以及其他一些选项设置。 在文件组页框中,可设置或添加数据库文件和文件组的属性,如是否只读、默认值等 单击“确定”按钮,系统开始创建数据库,创建成功后,当回到SSMS中的对象资源管理器时,刷新其中的内容,在“对象资源管理器”的“数据库”节点中就会显示新创建的数据库Test.
(2)使用SSMS查看或修改数据库。右击所要修改的数据库,从弹出的快捷菜单中选择“属性”选项,出现如下图所示的数据库属性设置对话框。可以看到,修改或查看数据库属性时,属性页框比创建数据库时多了两个,即选项和权限页框。可以分别在常规、文件、文件组、选项和权限对话框里根据要求来查看或修改数据库的相应设置。
(3)使用T-SQL语句将两个数据文件添加到teachingSystem数据库中。
ALTER DATABASE teachingSystem
ADD FILE --添加两个次数据文件 (NAME=teachingSystem1,
FILENAME='E:\\ teachingSystem1.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB),
(NAME=teachingSystem2,
FILENAME='E:\\ teachingSystem2.ndf', SIZE = 3MB, MAXSIZE = 10MB, FILEGROWTH = 1MB) GO
(4)删除数据库。在“对象资源管理器”窗口中,在目标数据库上单击鼠标右键,弹出快捷菜单,选择“删除”命令。出现“删除对象”对话框,确认是否为目标数据库,并通过选择复选框决定是否要删除备份以及关闭已存在的数据库连接,单击“确定”按钮,完成数据库删除操作。
T-SQL语句删除数据库是:DROP DATABASE teachingSystem
2.创建数据库表和修改数据库表
在teaching数据库中,创建系部表(department),课程表(course),学生表(student)和教师表(teacher),教师开课表(teacher_course),学生选课表(student_teacher_course)。教务管理系统的数据模型:
系部表(系部编号,系部名称,系部领导,系部电话,系部地址),主键:系部编号。如图11-58所示。
图11-58 系部表结构 图11-59 课程表结构
课程表(课程编号,系部编号,课程名称),主键:课程编号;外键:系部编号。如图11-59所示。
学生表(学生编号, 系部编号,姓名, 性别,出生日期,地址,总分,民族,年级,学院,专业),主键: 学生编号,外键:系部编号。如图11-60所示。
数据库原理及应用学习与实践指导 SQL Server 2012
图11-60 学生表结构 图11-61 教师表结构
教师表(教师编号,系部编号,教师姓名,职称),主键:教师编号,外键:系部编号。如图11-61所示。
教师开课表(教师编号,课程编号,学期),主键:教师编号,课程编号,外键分别是:教师编号,课程编号。如图11-62所示。
图11-62 教师开课表结构 图11-63 学生选课表结构
学生选课表(学生编号,课程编号,教师编号,学期,成绩),主键:学生编号, 课程编号,教师编号,外键:学生编号和课程编号,教师编号。如图11-63所示。
(1)创建数据库表。使用SSMS图形界面方法:在“对象资源管理器”窗口中,右击指定数据库teachingSystem的“表”文件夹,从弹出的快捷菜单中选择“新建表”选项,
依次输入字段名称和该字段的数据类型,以及允许空或非空的设置,即可创建数据库表,如图11-64所示。
图11-64 创建数据库表
使用命令行方法:选择teachingSystem数据库,在“新建查询”窗口中输入下列SQL语句,每输入一条SQL命令,单击一下“执行”即可:
create table department (
dept_id char(6) not null, dept_name char(20) null, dept_head char(6) null, dept_phone char(12) null, dept_addr char(40) null,
constraint PK_DEPARTMENT primary key nonclustered (dept_id) /* 主键添加*/