《SQL Server 数据库案例教程》课件第8章数据库的实现_第1页
《SQL Server 数据库案例教程》课件第8章数据库的实现_第2页
《SQL Server 数据库案例教程》课件第8章数据库的实现_第3页
《SQL Server 数据库案例教程》课件第8章数据库的实现_第4页
《SQL Server 数据库案例教程》课件第8章数据库的实现_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程内容回顾需求分析阶段,数据库设计的一般步骤有哪些?如何将E-R图转换成数据表?简单描述3大范式本章目标使用SQL语句创建数据库和表使用SQL语句创建约束创建安全帐户的SQL语句数据库基础知识回顾创建数据库时:指定数据库名称主数据库文件和日志文件的名称和大小。

数据库文件的组成:主数据文件:*.mdf次要数据文件:*.ndf

日志文件:*.ldf数据库的其他主要属性:文件存放位置分配的初始空间,属于哪个文件组。文件的增长设置,可以按百分比或实际大小指定增长速度。文件容量设置,可以指定文件增长的最大值或不受限

创建数据库CREATEDATABASE数据库名[ON{PRIMARY(NAME=逻辑文件名,FILENAME=物理文件名

[,SIZE=大小][,MAXSIZE={最大容量|UNLIMITED}][,FILEGROWTH=增长量])}[,。。。n]][LOGON{(NAME=逻辑文件名,FILENAME=物理文件名

[,SIZE=大小][,MAXSIZE={最大容量|UNLIMITED}][,FILEGROWTH=增长量])}[,。。。n]]建库语法创建数据库示例1USEmasterGOCREATEDATABASEempDBONPRIMARY--主文件组,不能省略/*--数据文件的具体描述--*/(NAME=’empDB_data’,--主数据文件的逻辑名FILENAME=’D:\Data\empDB_data.mdf’,--主数据文件的物理名SIZE=5MB,--主数据文件的初始大小MAXSIZE=15MB,--主数据文件增长的最大值(UNLIMITED为增长不受限制)FILEGROWTH=20%)--文件的增长率LOGON/*--日志文件的具体描述,各参数含义同上--*/(NAME=’empDB_log’,FILENAME=’D:\Data\empDB_log.ldf’,SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB)GO演示创建数据库1:一个数据文件和一个日志文件创建数据库示例2USEmasterGOCREATEDATABASEArchiveONPRIMARY/*--主数据文件的具体描述--*/(NAME=Arch1,FILENAME=‘d:\data\archdat1.mdf',SIZE=10MB,MAXSIZE=15,FILEGROWTH=5),/*--次要数据文件1的具体描述--*/(NAME=Arch2,FILENAME=‘d:\data\archdat2.ndf',SIZE=10MB,MAXSIZE=15,FILEGROWTH=5),演示创建数据库2:多个数据文件和多个日志文件创建数据库示例2/*--次要数据文件2的具体描述--*/(NAME=Arch3,FILENAME=‘d:\data\archdat3.ndf',SIZE=10MB,MAXSIZE=15,FILEGROWTH=5),LOGON/*--日志文件1的具体描述--*/(NAME=Archlog1,FILENAME='d:\data\archlog1.ldf',SIZE=5MB,MAXSIZE=10,FILEGROWTH=5),/*--日志文件2的具体描述--*/(NAME=Archlog2,FILENAME='d:\data\archlog2.ldf',SIZE=5MB,MAXSIZE=10,FILEGROWTH=5)GO演示创建数据库2:多个数据文件和多个日志文件删除数据库DROPDATABASEdatabase_name[,.。。。n]USEmasterGODROPDATABASEpubs使用SQL语句创建表建表的步骤确定表中有哪些列确定每列的数据类型给表添加各种约束创建各表之间的关系整型:int,smallint小数:decimal,numeric字符:固定长度:char(6)可变长度:varchar(10)Unicode字符:nvarchar(10)日期:datetime货币:money布尔:Bit–取值为0或1创建表CREATETABLE表名

(

字段1数据类型列的特征,字段2数据类型列的特征,。。。

)语法列的特征包括该列是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。创建表示例一CREATETABLEDEPT(deptnoINTPRIMARYKEY,--主键(唯一,非空)dnameCHAR(15)NOTNULL,--部门名称,非空(必填)locVARCHAR(30)--部门位置,允许为空,即可选输入)演示创建部门表dept创建表示例二CREATETABLEEMP(empnoINTPRIMARYKEY,--雇员编号,主键

enameVARCHAR(10)NOTNULL,--雇员姓名

jobVARCHAR(9),--工种

salDECIMAL(7,2)NOTNULL,--工资deptnoINTNOTNULL,--雇员所在部门号,外键CONSTRAINTemp_deptno_fkFOREIGNKEY(deptno)REFERENCESdept(deptno))演示创建雇员表emp创建表示例三CREATETABLEstuInfo(stuNoINTIDENTITY(1,1)--学号,自动编号(标识列)stuNameVARCHAR(20)NOTNULL,--姓名stuAgeINTNOTNULL,--年龄stuAddressVARCHAR(30)--地址)演示创建学生信息表stuInfo创建表示例四

使用SELECTINTO生成表结构和数据的拷贝:SELECT*INTOnewdeptFROMdept

删除表USEempDBGO//检查数据库中是否存在该表,如果存在则删除IFEXISTS(SELECT*FROMsysobjectsWHEREname=’dept’)DROPTABLEdept语法:DROPTABLE表名系统表:存放表的清单演示删除表dept创建和删除约束回顾约束类型:主键约束(primarykeyconstraint):要求主键列数据唯一,并且不允许为空。唯一约束(uniqueconstraint):要求该列唯一,允许为空,但只能出现一个空值。检查约束(checkconstraint):某列取值的限制、格式的限制等。如有关性别的检查。默认约束(defaultconstraint):某列输入数据时的默认值,强制了域完整性。外键约束(foreignkeyconstraint):用于在两表间建立关系,需要指定引用主表的哪列。

给表添加约束添加约束语法:约束的命名规则推荐采用:约束类型_约束字例如:给dept表的deptno字段添加主键约束,推荐起名为:PK_deptno给Emp表的ename字段添加唯一约束,可起名为:UQ_enameALTERTABLE表名ADDCONSTRAINT约束名约束类型具体的约束说明添加约束示例USEempDBGO----添加主键约束(deptno作为主键),约束名为pk_deptnoALTERTABLEdeptADDCONSTRAINTpk_deptnoPRIMARYKEY(deptno)――添加唯一约束,希望员工名字唯一ALTERTABLEempADDCONSTRAINTUQ_enameUNIQUE(ename)――添加检查约束,要求雇员工资少于3000ALTERTABLEempADDCONSTRAINTck_salCHECK(sal<=3000)――添加默认值约束,工资的默认值是800ALTERTABLEEMPADDCONSTRAITNTdf_salDEFAULT800FORsal――添加外键约束(主表dept和从表emp建立关系,关联字段为deptno)ALTERTABLEempADDCONSTRAINTfk_deptnoFOREIGNKEY(deptno)REFERENCESdept(deptno)添加约束示例演示:查看约束结果删除约束删除约束语法:ALTERTABLE表名DROPCONSTRAINT约束名例如删除表emp中的工资默认值约束ALTERTABLEEMPDROPCONSTRAINTdf_sal回顾SQLServer的安全模型增删改查增删改查增删改查增删改查增删改查增删改查数据库用户数据库用户数据库用户登录帐号SQLserver三层安全管理数据表1数据表2DB1数据表1数据表2DB2数据表1数据表2DB3登录方式回顾登录验证有两种方式:SQL身份验证:适合于非windows平台的用户或Internet用户,需要提供帐户和密码Windows身份验证:适合于windows平台用户,不需要提供密码,和windows集成验证登录帐户相应有两种::SQL帐户和Windows帐户

创建登录账户使用SQL语句创建两种模式下的登录帐户添加WINDOWS登录帐户添加SQL登录帐户EXECsp_grantlogin‘windows域名\域帐户’EXECEXECsp_addlogin‘帐户名’,‘密码’创建登录账户添加Windows登录帐户//windows用户为S01,SDXY表示域如是本机,SDXY为计算机名

EXECsp_grantlogin‘SDXY\S01’添加SQL登录帐户//登录名为zhangsan,密码为1234EXECsp_addlogin‘zhangsan’,’1234’GO演示:创建登录帐户创建数据库用户创建了登录帐户,只能登录到SQLServer系统,但还不能访问某个数据库。如果希望访问某个数据库,必须要成为该数据库的一个用户。创建数据库用户需要调用系统存储过程sp_grantdbaccess

在empDB中添加两个用户EXECsp_grantdbaccess‘登录帐户’,‘数据库用户’USEempDB--S01DBUser为数据库用户名EXECsp_grantdbaccess‘SDXY\S01’,‘S01DBUser’EXEC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论