




已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQLServer2005数据库基础,项目二创建学生管理资源库,模块2-1创建学生管理数据库,学习目标,工作任务,任务一:在ManagementStudio中创建数据库student,【任务分析】根据任务要求,要求使用SQLServerManagementStudio的图形化界面创建名为student的数据库,并保存在C盘db文件夹下。数据库的具体属性如下表所示:,表21student的数据文件和事务日志文件,操作步骤,1、打开ManagementStudio界面,操作步骤,2、打开“新建数据库”对话框,操作步骤,3、按要求设置数据库基本属性,4、设置数据库的高级属性(排序规则),操作步骤,5、创建完毕后,查看数据库。,操作步骤,知识说明:数据库的结构,逻辑结构是指数据库由哪些性质的信息组成。SQLServer的数据库是由表、视图、索引、约束等各种不同的对象组成,它们构成了数据库的逻辑结构。物理结构也称为存储结构,表示数据库文件是如何在磁盘上存放的。数据库文件在磁盘上以文件的单位存放,由数据库文件和事务日志文件组成。,任务2用CREATEDATABASE语句创建数据库student,【任务分析】要求使用ManagementStudio创建名为student的数据库,同时设置数据库的相关属性。,表21student的数据文件和事务日志文件,关键代码,NAME=student_data,FILENAME=c:dbstudent.mdf,SIZE=3MB,MAXSIZE=30MB,FILEGROWTH=10MB,知识说明:CREATEDATABASE语句的基本格式,CREATEDATABASEdatabase_nameONPRIMARY()LOGON(),练习,1在SQLServer中创建数据库,具体要求如下:数据库名称为Test1。主要数据文件:逻辑文件名为Test1Data1,物理文件名为Test1Data1.mdf,初始容量为1MB,最大容量为10MB,递增量为1MB。次要数据文件:逻辑文件名为Test1Data2,物理文件名为Test1Data2.ndf,初始容量为1MB,最大容量为10MB,递增量为1MB。事务日志文件:逻辑文件名为Test1Log1,物理文件名为Test1Log1.ldf,初始容量为1MB,最大容量为5MB,递增量为20%。,思考,假如没有对日志文件进行定义,那么日志文件的大小和数据文件有什么差别?怎样创建有多个数据文件的数据库?,模块2-2建立学生管理系统中的数据表,学习目标,工作任务,任务一:创建数据表student的表结构,【任务分析】数据表包括表结构、约束以及记录等三个要件。这个任务我们主要是完成对数据表student表结构的创建,表结构如下表所示:,表25student表的结构,任务一:创建数据表student的表结构,【任务分析】可以使用两种方法来解决这个问题:1.利用ManagementStudio工具,在图形化的界面中创建student表结构。2.使用CREATETABLE语句创建表结构。,方法一:操作界面(操作步骤),1、展开需要创建表的数据库“student”并右击“表”,在弹出的快捷菜单中选择“新建表”命令。,方法一:操作界面(操作步骤),2、在打开的表设计器对话框中,按照任务要求设置表student各列的列名、数据类型、允许空(非空约束),方法二:SQL代码,3、单击“SQLServerManagementStudio”工具栏上的【新建查询】按钮,方法二:SQL代码,关键代码CREATETABLEstudent(snochar(10)NOTNULL,snamechar(10)NOTNULL,ssexchar(2)NULL,sbirthdaydatetimeNULL,sscorenumeric(18,0)NULL,classnochar(8)NOTNULL),知识说明:数据类型,知识说明:数据表创建,CREATETABLEtable_name(|PRIMARYKEY|UNIQUE,.n):=column_namedata_typeCOLLATEDEFAULTconstant_expression|IDENTITY(seed,increment)NOTFORREPLICATION.n,任务二为student表添加数据,【任务分析】本任务将要实现为任务1中创建的表student添加数据,student表中的部分数据如下表所示。其中每行代表表中的一条记录,而每列代表表中的一个字段。表26student表中的部分数据,方法一:在SQLServerManagementStudio图形化界面中添加数据,1、在打开的“对象资源管理器”窗口中,右击表student,在弹出的快捷菜单中选择“打开表”命令。,方法一:在SQLServerManagementStudio图形化界面中添加数据,2、在打开的表内容标签页中,按照任务要求逐条输入student表中的每条记录。其中sbirthday字段是日期时间型(Datetime)数据,录入时可以使用斜杠(/)、连字符(-)或句号(.)作为年月日的分隔,方法二:使用INSERTINTO语句为数据表student添加数据,3、单击“SQLServerManagementStudio”工具栏上的“新建查询”按钮,关键代码INSERTINTOstudent(sno,sname,ssex,sbirthday,sscore,classno)VALUES(0701011101,孙晓龙,男,1988-6-4,479,07010111),方法二:使用INSERTINTO语句为数据表student添加数据,知识说明,关系模型关系模型是现在广泛采用的数据模型,它与先前曾使用的层次模型、网状模型相比具有显著的特点。它主要采用二维表格的方式来表示实体之间的关系,一个表就代表一个实体,表由行和列组成,一行代表一个对象,一列代表实体的一个属性。关系模型数据库也称为关系数据库。,模块2-3设置学生管理系统中的数据表的完整性,学习目标,工作任务,任务1创建数据表student的约束,任务1.1:将数据表的sno字段设置为主键。任务1.2:将数据表的ssex字段默认值设置为“男”。任务1.3:将数据表的sscore字段设置在306到650的范围之间。,任务1.1:将数据表的sno字段设置为主键,【任务分析】主键约束是最重要的约束类型,它是每条记录的标识符,即可能是该记录与其它记录得以区别开来的唯一不同。如student表中有这样两条记录(0701011101,孙晓龙,男,1988-6-4,479,07010111),(0701011111,孙晓龙,男,1988-6-4,479,07010111)。它们之所以被视为两条不同的记录,就因为sno字段不一样。而sname字段由于现实世界中存在同名的人而可能不唯一,不能作为表的主键字段。每张数据表只能设置一个主键,在表中定义的主键列不能有重复的值。,任务1.1:将数据表的sno字段设置为主键,1、右击“对象资源浏览器”窗口中要创建主键的表名student,在弹出的快捷菜单上单击“修改”命令。,任务1.1:将数据表的sno字段设置为主键,2、在打开的【表-dbo.student】标签页上右击要设置为主键的列名sno,在弹出的快捷菜单中选择【设置主键】命令。,任务1.2将数据表的ssex字段默认值设置为“男”,【任务分析】用户在插入某条记录时,如果没有为某个字段输入相应的值,该列的值就为空。如果该列设置了默认约束,如为student的ssex字段设置过默认值“男”,那么即使该字段没有输入任何值,记录输入完成后也会获得该字段的默认值“男”。,在ssex列属性的“常规”选项区中的“默认值或绑定”选项中输入默认值“男”。,任务1.2将数据表的ssex字段默认值设置为“男”,任务1.3将数据表的sscore字段设置在306到650的范围之间,【任务分析】该校学生的入学成绩的最高分是650,最低分是306分,即在306到650的范围之间,该任务就要为sscore设置检查约束,如果输入的入学成绩超出这个范围,系统会认为输入的信息有误拒绝接收数据,从而保证了数据的完整性。,“CHECK约束表达式”对话框,任务1.3将数据表的sscore字段设置在306到650的范围之间,知识说明,数据完整性数据完整性是指数据库中数据的正确性和一致性,它是衡量数据库设计好坏的一项重要指标。分类实体完整性域完整性参照完整性用户自定义完整性,任务2创建数据表class的约束,【任务分析】该任务是为数据表class建立各类约束、规则以实现数据的完整性。要完成上述任务,则分别要为相关字段设置主键约束和唯一约束,建立并绑定数据库的规则。该任务的实现,主要采用编写程序代码的方式。,任务2创建数据表class的约束,【任务分析】具体还可以分为以下几个子任务:任务2.1:将数据表的classno字段设置为主键。任务2.2:将数据表的classname字段的值设成唯一。任务2.3:创建规则zydm_rule,并将它绑定在字段pno上,用来保证输入的专业代码只能是数字字符。,任务2.1将数据表的classno字段设置为主键,【程序代码】USEstudentGOALTERTABLEclassADDCONSTRAINTpk_bhPRIMARYKEYCLUSTERED(classno)GO,【执行效果】,任务2.1将数据表的classno字段设置为主键,任务2.2将数据表的classname字段的值设成唯一,【程序代码】USEstudentGOALTERTABLEclassADDCONSTRAINTuk_bjmcUNIQUENONCLUSTERED(classname)GO,【执行效果】,任务2.2将数据表的classname字段的值设成唯一,任务2.3创建规则zydm_rule,并将它绑定在字段pno上,用来保证输入的专业代码只能是数字字符,【程序代码】USEstudentGOCREATERULEzydm_ruleASchlike0-90-90-90-9GOEXECsp_bindrulezydm_rule,class.pnoGO,任务2.3创建规则zydm_rule,并将它绑定在字段pno上,用来保证输入的专业代码只能是数字字符,【执行效果】,知识说明:约束的类型,任务3创建数据表student和class之间的关系,并建立数据库关系图显示两者关系,【任务分析】SQLServer是关系数据库,它的基本对象之一是数据表,而数据表并不是彼此孤立的,而是存在着内在的关系。比如根据student表中的一条记录(0701011101,孙晓龙,男,1988-6-4,479,07010111)和class表中的记录(07010111,计应0711,0101),我们很容易得出孙晓龙是计应0711班的学生,就是由于这两张表是存在关系的,它们存在着共同的字段。为表student和表class创建关系就是通过class表中的classno字段和student表中的classno字段,建立两表间的连接。其中class.classno是class表中的主键,student.classno是表中的外键;本任务实质也就是为表student创建外键约束。关系图的建立可以使表间的关系以图形的方式加以显示,更加清晰的表现出两张表之间的关联。这样这个任务可以进一步分解为两个子任务:,任务3.1:创建数据表class和student之间的关系任务3.2:建立数据库关系图显示表间关系,任务3创建数据表student和class之间的关系,并建立数据库关系图显示两者关系,任务3.1:创建数据表class和student之间的关系,1、展开“对象资源管理器”窗口中的节点表【dbo.student】,右击其子节点【键】,弹出快捷菜单。,任务3.1:创建数据表class和student之间的关系,2、单击【新建外键】命令,打开“外键关系”对话框。单击列表框中【表和列规范】左侧的“+”,展开子项目。子项目中为缺省定义。,任务3.1:创建数据表class和student之间的关系,3、单击【表和列规范】右边的按钮,打开“表和列”对话框。在“主键表”下拉列表框中选择“class”,选择列为“classno”;选择“外键表”“student”的列为“classno”,会自动生成关系名FK_student_class。,任务3.1:创建数据表class和student之间的关系,4、单击【确定】按钮,返回“外键关系”对话框。单击【关闭】按钮,返回“ManagementStudio”窗口。单击【保存】按钮,提示保存表之间的关系。,任务3.2建立数据库关系图显示表间关系,1、鼠标右击“对象资源管理器”窗口的节点【student】的子节点【数据库关系图】,弹出快捷菜单。,任务3.2建立数据库关系图显示表间关系,2、单击【新建数据库关系图】命令,在“ManagementStudio”中打开一个数据库关系图的标签页,并且激活了“添加表”对话框,在【表】列表框中选择表student和表class。,任务3.2建立数据库关系图显示表间关系,3、单击【添加】按钮,并单击【关闭】按钮,关闭“添加表”对话框。在【关系图】的标签页中显示已添加的表student和class。,任务3.2建立数据库关系图显示表间关系,4、单击【保存】按钮,会弹出“选择名称”对话框,输入关系图的名称,可以将数据库关系图保存在数据库中。,知识说明,外键约束外键约束可以保证表和表之间数据一致性,它通过主键和外键建立起表与表之间的关联。其中包含主键的表称为父表,包含外键的表称为子表。当父表中的数据发生改变时,子表中的数据也会发生相应的变化,以此来保证参照的完整性。用ALTERTABLE语句也可以创建外键约束。,模块2-4综合应用,学习目标,工作任务,任务1创建数据表student和class的基本结构,【任务分析】该任务是为数据表student和class创建表结构,并建立相关约束来实现数据的完整性。这里与前一模块不同的是,数据表的约束在创建表时就在程序代码中一起定义了,而不是后续添加的。其中两张数据表的结构在项目1中已经设计完毕。,任务1创建数据表student和class的基本结构,表219学生表的结构,表220班级表的结构,任务1创建数据表student和class的基本结构,【程序代码】CREATETABLEclass(classnochar(8)CONSTRAINTpk_bjbhPRIMARYKEY,classnamechar(16)NOTNULL,pnochar(4)NOTNULL,),任务1创建数据表student和class的基本结构,【程序代码】CREATETABLEstudent(snochar(10)CONSTRAINTpk_xhPRIMARYKEY,snamechar(10)NOTNULL,ssexchar(2)CONSTRAINTuk_xbCHECK(ssex=男ORssex=女),sbirthdaydatetimeNULL,sscorenumeric(18,0)NULL,classnochar(8)CONSTRAINTfk_bhREFERENCESclass(classno),任务2为数据表student和class添加记录,【任务分析】该任务是使用INSERT语句为数据表student和class添加相关数据。,表221学生表的部分记录,任务2为数据表student和class添加记录,表222班级表的部分记录,任务2为数据表student和class添加记录,【
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工装合同范本版本
- 门窗拆除安装合同范本
- 保姆和个人合同范本
- 废旧连杆出售合同范本
- 小区改造门面合同范本
- 太阳纸业订购合同范本
- 弧形夹板出售合同范本
- 农业投资代管合同范本
- 社区小学生安全知识培训课件
- 道路救援服务合同范本
- 2025年检验检测人员理论考试试题及答案
- 2025-2030奢侈品礼品包装消费行为与品牌战略分析报告
- 业务流程优化实施步骤指导手册
- 宗教事务条例解读课件
- 2025-2026学年接力版(2024)小学英语四年级上册(全册)教学设计(附目录)
- 2025年发展对象考试题题库及答案
- 2025年医疗质量安全核心制度及病历书写规范考核试题(附答案)
- 2025年电力交易员(高级工)考试复习题库(含答案)
- 2025北京广播电视台校园招聘17人笔试备考题库及参考答案详解
- 冷库安全基本知识培训课件
- DB11T 1481-2024 生产经营单位安全事故应急预案评审规范
评论
0/150
提交评论