




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章数据库的实现回顾在需求分分析阶段段,设计计数据库库的一般般步骤为为?实体的映映射关系系有哪些些?请简要说说明三大大范式的的含义??2目标掌握建库库的SQL语句掌握建表表的SQL语句掌握加约约束的SQL语句掌握创建建安全帐帐户的SQL语句3回顾数据据库的基基础知识识数据库文文件的组组成:主数据文文件:**.mdf次要数据据文件::*.ndf日志文件件:*..ldf数据库的的其他属属性:文件存放放位置,,分配的的初始空空间,属属于哪个个文件组组文件增长长:可以以按百分分比或实实际大小小指定增增长速度度文件容量量设置::可以指指定文件件增长的的最大值值或不受受限4创建数据据库CREATEDATABASE数据库名名ON[[PRIMARY](<数据文件件参数>[,…n][[<<文件组参参数>])[LOGON](<日志文件件参数>[,…n])T-SQL创建建数据库库的语法法:主文件组组,可选选参数,,默认5创建数据据库示例例1CREATEDATABASEstuDBONPRIMARY--默认认就属于于PRIMARY主文文件组,,可省略略(NAME='stuDB_data',---主数据文文件的逻逻辑名FILENAME='D::\project\\stuDB_data.mdf',---主数据文文件的物物理名SIZE=5mb,---主数据文文件初始始大小MAXSIZE=100mb,,---主数据文文件增长长的最大大值FILEGROWTH=15%%---主数据文文件的增增长率)LOGON(NAME='stuDB_log',FILENAME='D::\project\\stuDB_log..ldf',SIZE=2mb,FILEGROWTH=1MB)GO
数据文件件的具体体描述日志文件件的具体体描述演示创建建数据库库1:一个数数据文件件和一个个日志文文件6创建数据据库示例例2CREATEDATABASEemployeesON(/*-主数据文文件的具具体描述述-*/NAME=''employee1',,FILENAME=='D:\project\employee1_Data.mdf',,SIZE=10,,FILEGROWTH=10%%),(/*-次要数据据文件的的具体描描述-*/NAME='employee2'',FILENAME='D:\project\employee2_Data.ndf',,SIZE=20,MAXSIZE=100,FILEGROWTH=1)LOGON(/*-日日志文件件1的具具体描述述-*//NAME='employeelog1'',FILENAME='D:\project\employeelog1_Log..ldf',,SIZE=10,FILEGROWTH=1),(/*-日日志文件件2的具具体描述述-*//NAME='employeelog2'',FILENAME='D:\project\employeelog2_Log..ldf',,SIZE=10,MAXSIZE=50,FILEGROWTH=1
)GO演示创建建数据库库2:多个数数据文件件和多个个日志文文件7删除数据据库如果SQLServer中已存在在数据库库stuDB,运行下下列语句句,会出出现什么么问题??CREATEDATABASEstuDBON(.....)LOGON(.....)GO演示:再再次运行行示例18USEmaster---设置当前前数据库库为master,以以便访问问sysdatabases表GOIFEXISTS(SELECT*FROMsysdatabasesWHEREname=='stuDB')DROPDATABASEstuDBCREATEDATABASEstuDBON((…..)LOGON(…)GO删除数据据库删除数据据库的语语法:DROPDATABASE数据库名名EXISTS()语句句:检测是否否存在stuDB数据库如果存在在stuDB数据库,,则删除除9回顾表的的基础知知识建表的基基本步骤骤:确定表中中有哪些些列确定每列列的数据据类型给表添加加各种约约束创建各表表之间的的关系SQLServer中的数数据类型型整型数据据:intsmallint浮点数据据:floatnumeric……字符数据据固定长度度:char(6))可变长度度:varchar((10))unicode编码:nchar(10)……布尔数据据(真/假)bit::1//0货币数据据money日期数据据datetime10创建表建表的语语法CREATETABLE表名(字段1数据类型型列的的特征,,字段2数据类型型列的的特征,,...)列的特征征:包括该列列是是否否为空((NULL)、是否否是标识识列(自自动编号号)、是是否有默默认值、、是否为为主键等等。11建表示例例1USEstuDB--将当前数数据库设设置为stuDBGOCREATETABLEstuInfo/*-创建学员员信息表表-*/(stuNameVARCHAR(20)NOTNULL,--姓名,非非空(必必填)stuNoCHAR(6))NOTNULL,,--学号,非非空(必必填)stuAgeINTNOTNULL,--年龄龄,INT类型型默认为为4个字字节stuIDNUMERIC(18,0)),--身份证号号stuSeatSMALLINTIDENTITY((1,1),--座位号,,自动编编号stuAddressTEXT--住址,允允许为空空,即可可选输入入)GONUMERIC(18,0)代表18位数字字,小数数位数为为0演示:创创建学员员信息表表stuInfoIDENTITY(起始值值,递增增量)12建表示例例2CREATETABLEstuMarks(ExamNoCHAR(7))NOTNULL,----考号stuNoCHAR(6))NOTNULL,---学号writtenExamINTNOTNULL,---笔试成绩绩LabExamINTNOTNULL----机试成绩绩)GO演示:创创建学员员成绩表表stuMarks13删除表如果当前前数据库库中已存存在stuInfo表表,再次次创建时时系统将将提示出出错。。如何解解决呢??14删除表删除表的的语法::DROPTABLE表名USEstuDB--将当前数数据库设设置为stuDB,以便在stuDB数据据库中建建表GOIFEXISTS((SELECT*FROMsysobjectsWHEREname=’’stuInfo’)DROPTABLEstuInfoCREATETABLEstuInfo/*-创建学员员信息表表-*/(…..)GO15回顾SQLServer的的约束约束的目目的:确确保表中中数据的的完整型型常用的约约束类型型:主键约束束(PrimaryKeyConstraint)):要求求主键列列数据唯唯一,并并且不允允许为空空唯一约束束(UniqueConstraint):要要求该列列唯一,,允许为为空,但但只能出出现一个个空值。。检查约束束(CheckConstraint)):某列列取值范范围限制制、格式式限制等等,如有有关年龄龄的约束束默认约束束(DefaultConstraint)::某列的的默认值值,如我我们的男男性学员员较多,,性别默默认为““男”外键约束束(ForeignKeyConstraint)):用于于两表间间建立关关系,需需要指定定引用主主表的那那列16添加约束束添加约束束的语法法:ALTERTABLE表名ADDCONSTRAINT约束名约约束束类型具具体体的约束束说明约束名的的取名规规则推荐荐采用::约束类类型_约束字段段主键(PrimaryKey)约束::如PK_stuNo唯一(UniqueKey)约束::如UQ_stuID默认(DefaultKey)约束::如DF_stuAddress检查(CheckKey)约束::如CK_stuAge外键(ForeignKey))约束:如如FK_stuNo17添加约束束示例ALTERTABLEstuInfoADDCONSTRAINTPK_stuNoPRIMARYKEY(stuNo)ALTERTABLEstuInfoADDCONSTRAINTUQ_stuIDUNIQUE(stuID)ALTERTABLEstuInfoADDCONSTRAINTDF_stuAddressDEFAULT('地址不详详')FORstuAddressALTERTABLEstuInfoADDCONSTRAINTCK_stuAgeCHECK(stuAgeBETWEEN15AND40)ALTERTABLEstuMarksADDCONSTRAINTFK_stuNoFOREIGNKEY(stuNo)REFERENCESstuInfo(stuNo)GO演示:给给学员信信息表stuInfo添加约束束添加主键键约束((stuNo作作为主键键)添加唯一一约束((因为每每人的身身份证号号全国唯唯一)添加默认认约束((如果地地址不填填,默认认为“地地址不详详”)添加检查查check约约束,要要求年龄龄只能在在15--40岁岁之间添加外键键约束((主表stuInfo和从表表stuMarks建建立关系系,关联联字段为为stuNo)18添加约束束示例演示:查查看约束束结果19删除约束束如果错误误地添加加了约束束,我们们还可以以删除约约束删除约束束的语法法ALTERTABLE表名DROPCONSTRAINT约束名例如:删删除stuInfo表中地址址默认约约束ALTERTABLEstuInfoDROPCONSTRAINTDF_stuAddress20回顾SQLServer的的安全模模型数据库1数据库2数据库3表1表2表1表2表1表2增删改查增删改查增删改查增删改查增删改查增删改查数据库用户数据库用户数据库用户登录帐号SQLserver三层安全管理21登录方式式回顾登录验证证有两种种方式::SQL身身份验证证:适合合于非windows平台的的用户或或Internet用用户,需需要提提供帐户户和密码码Windows身份验验证:适适合于windows平台用用户,不不需要提提供密码码,和windows集成验验证登录帐户户相应有有两种::SQL帐帐户和Windows帐户22创建登录录添加Windows登录帐帐户EXECsp_grantlogin‘‘jbtraining\S26301‘‘添加SQL登登录帐户户EXECsp_addlogin‘‘zhangsan'',‘‘1234’演示创建建登录EXEC表示调用用存储过过程,存储过程程类似C语言的函函数内置的系系统管理理员帐帐户sa密码默认认为空,,建议修修改密码码域名\用户名用户名,密码23创建登录录24创建数据据库用户户创建数据据库用户户需要调调用系统统存储过过程sp_grantdbaccess,,其用法法为:EXECsp_grantdbaccess‘登录帐户名’’,’数据库用用户名’’其中,““数据库库用户““为可选选参数,,默认为为登录帐帐户,即数据库库用户默默认和登登录帐户户同名。USEstuDBGOEXECsp_grantdbaccess'jbtraining\S26301'','S26301DBUser'EXECsp_grantdbaccess'zhangsan','zhangsanDBUser'在stuDB数据库中中添加两两个用户户25创建数据据库用户户26dbo用户表示数据据库的所所有者((DBOwner)无法删除除dbo用户,此此用户始始终出现现在每个个数据库库中guest用户适用于没没有数据据库用户户的登录录帐号访访问每个数据据库可有有也可删删除系统内置置的数据据库用户户27向数据库库用户授授权EmployeesEmployeeID123LastNameDavolioFullerLeverling
FirstNameNancyAndrewJanetRepor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国尿布包装设备行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国小型自卸车行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国寿险行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国宽带磁选机行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国室内地板行业发展趋势分析与未来投资战略咨询研究报告
- 游园会的快乐时光记事作文4篇
- 2025至2030中国多功能沙发行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国壁挂式烘干机行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国域名注册提供商行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国四轮定位仪设备行业发展趋势分析与未来投资战略咨询研究报告
- 活羊买卖合同协议
- 安徽省2024年中考数学试卷【附真题答案】
- 车辆维修保养服务 投标方案(技术方案)
- 陕西省西安市雁塔区2023-2024学年六年级下学期期末语文试卷
- 加油站会员体系设计与运营策略
- 精索静脉曲张教学
- 提高静脉血栓栓塞症规范预防率-医务科-2023.12.7
- 2024年建筑业10项新技术
- 农村信访业务培训课件
- 2023年南京市中考历史试题及答案
- 2024年上海外服招聘笔试参考题库附带答案详解
评论
0/150
提交评论