版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章数据库的实现回顾在需求分析阶段,设计数据库的一般步骤为?实体的映射关系有哪些?请简要说明三大范式的含义?目标掌握建库的SQL语句掌握建表的SQL语句掌握加约束的SQL语句掌握创建安全帐户的SQL语句回顾数据库的基础知识数据库文件的组成:主数据文件:*.mdf次要数据文件:*.ndf日志文件:*.ldf数据库的其他属性:文件存放位置,分配的初始空间,属于哪个文件组文件增长:可以按百分比或实际大小指定增长速度文件容量设置:可以指定文件增长的最大值或不受限创建数据库CREATEDATABASE
数据库名
ON[PRIMARY](<数据文件参数>[,…n][<文件组参数>])[LOGON](<日志文件参数>[,…n])T-SQL创建数据库的语法:主文件组,可选参数,默认创建数据库示例1CREATEDATABASEstuDB
ONPRIMARY--默认就属于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:一个数据文件和一个日志文件创建数据库示例2CREATEDATABASEemployees
ON
(/*-主数据文件的具体描述-*/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:多个数据文件和多个日志文件删除数据库如果SQLServer中已存在数据库stuDB,运行下列语句,会出现什么问题?CREATEDATABASEstuDBON(....)LOGON(....)GO演示:再次运行示例1如何知道服务器上已有的数据库USEmaster--设置当前数据库为master,以便访问sysdatabases表GOIFEXISTS(SELECT*FROMsysdatabasesWHEREname='stuDB')
DROPDATABASEstuDBCREATEDATABASEstuDBON(…..)LOGON(…)GO删除数据库删除数据库的语法:DROPDATABASE数据库名EXISTS()语句:检测是否存在stuDB数据库如果存在stuDB数据库,则删除回顾表的基础知识建表的基本步骤:确定表中有哪些列确定每列的数据类型给表添加各种约束创建各表之间的关系SQLServer中的数据类型整型数据:intsmallint浮点数据:floatnumeric……字符数据固定长度:char(6)可变长度:varchar(10)unicode编码:nchar(10)……布尔数据(真/假)
bit:1/0货币数据money日期数据datetime创建表建表的语法CREATETABLE
表名
(
字段1数据类型列的特征,字段2数据类型列的特征,
...)列的特征:包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。建表示例1USEstuDB--将当前数据库设置为stuDBGOCREATETABLEstuInfo
/*-创建学员信息表-*/(
stuNameVARCHAR(20)NOTNULL,--姓名,非空(必填)stuNoCHAR(6)NOTNULL,--学号,非空(必填)stuAgeINTNOTNULL,--年龄,INT类型默认为4个字节
stuIDNUMERIC(18,0),--身份证号
stuSeatSMALLINTIDENTITY(1,1),--座位号,自动编号
stuAddressTEXT--住址,允许为空,即可选输入)GONUMERIC(18,0)代表18位数字,小数位数为0演示:创建学员信息表stuInfoIDENTITY(起始值,递增量)建表示例2CREATETABLEstuMarks(ExamNoCHAR(7)NOTNULL,--考号
stuNoCHAR(6)NOTNULL,--学号
writtenExamINTNOTNULL,--笔试成绩
LabExamINTNOTNULL--机试成绩)GO演示:创建学员成绩表stuMarks删除表如果当前数据库中已存在stuInfo表,再次创建时系统将提示出错。如何解决呢?删除表删除表的语法:DROPTABLE
表名USEstuDB--将当前数据库设置为stuDB,以便在stuDB数据库中建表GOIFEXISTS(SELECT*FROMsysobjectsWHEREname=’stuInfo’)
DROPTABLEstuInfoCREATETABLEstuInfo/*-创建学员信息表-*/(…..)GO回顾SQLServer的约束约束的目的:确保表中数据的完整型常用的约束类型:主键约束(PrimaryKeyConstraint):要求主键列数据唯一,并且不允许为空唯一约束(UniqueConstraint):要求该列唯一,允许为空,但只能出现一个空值。检查约束(CheckConstraint):某列取值范围限制、格式限制等,如有关年龄的约束默认约束(DefaultConstraint):某列的默认值,如我们的男性学员较多,性别默认为“男”外键约束(ForeignKeyConstraint):用于两表间建立关系,需要指定引用主表的那列添加约束添加约束的语法:ALTERTABLE
表名
ADDCONSTRAINT
约束名约束类型具体的约束说明约束名的取名规则推荐采用:约束类型_约束字段主键(PrimaryKey)约束:如PK_stuNo唯一(UniqueKey)约束:如
UQ_stuID默认(DefaultKey)约束:如DF_stuAddress检查(CheckKey)约束:如
CK_stuAge外键(ForeignKey)约束:如FK_stuNo添加约束示例演示:给学员信息表stuInfo添加约束添加主键约束(stuNo作为主键)添加唯一约束(因为每人的身份证号全国唯一)添加默认约束(如果地址不填,默认为“地址不详”)添加检查check约束,要求年龄只能在15-40岁之间添加外键约束(主表stuInfo和从表stuMarks建立关系,关联字段为stuNo)添加约束示例演示:查看约束结果删除约束如果错误地添加了约束,我们还可以删除约束删除约束的语法ALTERTABLE
表名
DROPCONSTRAINT
约束名例如:删除stuInfo表中地址默认约束ALTERTABLEstuInfo
DROPCONSTRAINTDF_stuAddress回顾SQLServer的安全模型数据库1数据库2数据库3表1表2表1表2表1表2增删改查增删改查增删改查增删改查增删改查增删改查数据库用户数据库用户数据库用户登录帐号SQLServer三层安全管理登录方式回顾登录验证有两种方式:SQL身份验证:适合于非windows平台的用户或Internet用户,需要提供帐户和密码Windows身份验证:适合于windows平台用户,不需要提供密码,和windows集成验证登录帐户相应有两种:SQL帐户和Windows帐户
创建登录添加Windows登录帐户
EXECsp_grantlogin‘jbtraining\S26301‘
添加SQL登录帐户
EXECsp_addlogin‘zhangsan',‘1234’演示创建登录EXEC表示调用存储过程,存储过程类似C语言的函数内置的系统管理员帐户sa密码默认为空,建议修改密码域名\用户名用户名,密码创建登录创建数据库用户创建数据库用户需要调用系统存储过程sp_grantdbaccess,其用法为:EXECsp_grantdbaccess‘登录帐户名’,’数据库用户名’其中,“数据库用户“为可选参数,默认为登录帐户,即数据库用户默认和登录帐户同名。USEstuDBGOEXECsp_grantdbaccess
'jbtraining\S26301','S26301DBUser'
EXECsp_grantdbaccess
'zhangsan','zhangsanDBUser'在stuDB数据库中添加两个用户创建数据库用户dbo用户表示数据库的所有者(DBOwner)无法删除dbo用户,此用户始终出现在每个数据库中guest用户适用于没有数据库用户的登录帐号访问每个数据库可有也可删除系统内置的数据库用户向数据库用户授权EmployeesEmployeeID123LastNameDavolioFullerLeverling
FirstNameNancyAndrewJanetReportsTo22...deleteFROMEmployeesSELECT*FROMEmployees权限的类型2-1授权的语法为:GRANT权限[ON表名]TO数据库用户USEstuDBGO/*--为zhangsanDBUser分配对表stuInfo的select,insert,update权限--*/GRANTselect,insert,update
ONs
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 材料采购检验保管制度
- 教育集团招标采购制度
- 材料采购及资金管理制度
- 机加采购管理制度
- 亨迪药业采购制度
- 企业宿舍采购管理制度范本
- 政府采购协议供货制度
- 政府单位采购审批制度
- 万科集中采购管理制度
- 药械采购与管理制度
- 动物园动物肖像摄影技巧
- (高清版)DB50∕T 392-2011 方形钢筋混凝土电杆
- 村居、社区退役军人服务站星级评定标准
- 智能温室大棚建设项目技术标施工组织设计施工方案(技术方案)
- 四川成都历年中考语文古诗欣赏试题汇编(2003-2023)
- 头顶一颗珠对VCI大鼠血脑屏障及紧密连接蛋白的影响及作用机制研究
- 接触网工学习通练习试题
- 锅炉暖风器改造施工方案
- 一元线性回归模型说课课件2024年第十届全国中小学实验教学说课活动
- 成都市崇州市2024年小升初必考题数学检测卷含解析
- 精索静脉曲张教学
评论
0/150
提交评论