2.数据库的实现

上传人:抢*** 文档编号:243747610 上传时间:2024-09-30 格式:PPT 页数:43 大小:2.82MB
返回 下载 相关 举报
2.数据库的实现_第1页
第1页 / 共43页
2.数据库的实现_第2页
第2页 / 共43页
2.数据库的实现_第3页
第3页 / 共43页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第二章,数据库的实现,目标,掌握,建库,掌握,数据库的备份与还原,掌握,建表,掌握加,约束,掌握创建,安全帐户,一、创建数据库,掌握利用,企业管理器,创建数据库,掌握,创建数据库,的,SQL,语句,一、创建数据库,1.,利用,企业管理器,创建数据库:,一、创建数据库,1.,利用,企业管理器,创建数据库:,一、创建数据库,CREATE DATABASE,数据库名,ON PRIMARY,(, ,,,n ,),LOG ON,(, ,,,n,),2.T-SQL,创建数据库的语法:,创建数据库示例,1,CREATE DATABASE,stuDB,ON PRIMARY,-默认就属于PRIMARY主文件组,可省略,(,NAME,=stuDB_data, -,主数据文件的逻辑名,FILENAME,=D:projectstuDB_data.mdf, -,主数据文件的物理名,SIZE,=5mb, -,主数据文件初始大小,MAXSIZE,=100mb, -,主数据文件增长的最大值,FILEGROWTH,=15% -,主数据文件的增长率,),LOG ON,(,NAME,=stuDB_log,FILENAME,=D:projectstuDB_log.ldf,SIZE,=2mb,FILEGROWTH,=1MB,),GO,数据文件的具体描述,日志文件的具体描述,演示创建数据库,1,:一个数据文件和一个日志文件,创建数据库示例,2,CREATE DATABASE,employees,ON,(,/*-,主数据文件的具体描述,-*/,NAME = employee1,FILENAME = D:projectemployee1_Data.mdf ,SIZE = 10,FILEGROWTH = 10%,),(,/*-,次要数据文件的具体描述,-*/,NAME,= employee2,FILENAME,= D:projectemployee2_Data.ndf ,SIZE,= 20,MAXSIZE,= 100,FILEGROWTH,= 1,),LOG ON,(,/*-日志文件1的具体描述-*/,NAME,= employeelog1,FILENAME,= D:projectemployeelog1_Log.ldf ,SIZE,= 10,FILEGROWTH,= 1,),(,/*-日志文件2的具体描述-*/,NAME,= employeelog2,FILENAME,= D:projectemployeelog2_Log.ldf ,SIZE,= 10,MAXSIZE,= 50,FILEGROWTH,= 1,),GO,演示创建数据库,2,:多个数据文件和多个日志文件,删除数据库,如果,SQL Server,中已存在数据库,stuDB,,运行下列语句,会出现什么问题?,CREATE DATABASE,stuDB,ON,(,.,),LOG ON,(,.,),GO,演示:再次运行示例,1,USE master -,设置当前数据库为master,以便访问sysdatabases表,GO,IF,EXISTS,(SELECT * FROM,sysdatabases,WHERE name,=stuDB,),DROP DATABASE,stuDB,CREATE DATABASE,stuDB,ON (,.,),LOG ON,(,),GO,删除数据库,删除数据库,的语法,:,DROP DATABASE,数据库名,EXISTS,()语句:检测是否存在,stuDB,数据库如果存在,stuDB,数据库,则删除,二、数据库 的备份与还原,掌握,数据库的,备份,方法,掌握,数据库,的,还原,方法,1.,备份数据库到单个文件:,二、数据库备份与还原,二、数据库备份与还原,1.,备份数据库到单个文件:,二、数据库备份与还原,1.,从单个备份文件,还原,数据库:,二、备份与还原数据库,3.,附加,数据库,:,利用原始的,MDF,文件还原数据库,二、数据库 的备份与还原,掌握,数据库的,备份,方法,掌握,数据库,的,还原,方法,回顾表的基础知识,建表的基本步骤:,确定表中有哪些列,确定每列的数据类型,给表添加各种约束,创建各表之间的关系,SQL Server,中的数据类型,整型数据:,int,smallint,浮点数据:,float numeric,字符数据,固定长度:,char(6),可变长度,: varchar(10),unicode,编码:,nchar(10),布尔数据(真,/,假),bit: 1/ 0,货币数据,money,日期数据,datetime,创建表,建表的语法,CREATE TABLE,表名,(,字段,1,数据类型 列的特征,,字段,2,数据类型 列的特征,,.,),列的特征:,包括该列是是否为空(,NULL,)、是否是标识列(自动编号)、是否有默认值、是否为主键等。,建表示例,1,USE,stuDB,-,将当前数据库设置为stuDB,GO,CREATE TABLE,stuInfo,/*-,创建学员信息表,-*/,(,stuName,VARCHAR(20) NOT NULL ,-,姓名,非空,(,必填,),stuNo,CHAR(6) NOT NULL,-,学号,非空,(,必填,),stuAge,INT NOT NULL,-年龄,INT类型默认为4个字节,stuID,NUMERIC(18,0),-,身份证号,stuSeat,SMALLINT,IDENTITY (1,1),-,座位号,自动编号,stuAddress,TEXT,-,住址,允许为空,即可选输入,),GO,NUMERIC (18,0),代表18位数字,小数位数为0,演示:创建学员信息表,stuInfo,IDENTITY,(起始值,递增量),建表示例,2,CREATE TABLE,stuMarks,(,ExamNo,CHAR(7) NOT NULL, -,考号,stuNo,CHAR(6) NOT NULL, -,学号,writtenExam,INT NOT NULL, -,笔试成绩,LabExam,INT NOT NULL -,机试成绩,),GO,演示:创建学员成绩表,stuMarks,删除表,如果当前数据库中已存在,stuInfo,表,再次创建时系统将提示出错 。如何解决呢?,删除表,删除,表的语法:,DROP TABLE,表名,USE,stuDB,-,将当前数据库设置为stuDB,,,以便在stuDB数据库中建表,GO,IF EXISTS(SELECT * FROM,sysobjects,WHERE,name=stuInfo, ),DROP TABLE,stuInfo,CREATE TABLE,stuInfo,/*-,创建学员信息表,-*/,(,.,),GO,回顾,SQL Server,的约束,约束的目的:确保表中数据的完整型,常用的约束类型:,主键约束(,Primary Key Constraint,):要求主键列数据唯一,并且不允许为空,唯一约束(,Unique Constraint,):要求该列唯一,允许为空,但只能出现一个空值。,检查约束(,Check Constraint,):某列取值范围限制、格式限制等,如有关年龄的约束,默认约束(,Default Constraint,):某列的默认值,如我们的男性学员较多,性别默认为“男”,外键约束(,Foreign Key Constraint,):用于两表间建立关系,需要指定引用主表的那列,添加约束,添加约束的语法:,ALTER TABLE,表名,ADD CONSTRAINT,约束名 约束类型 具体的约束说明,约束名的取名规则推荐采用:约束类型,_,约束字段,主键(,Primary Key,)约束:如,PK,_stuNo,唯一(,Unique Key,)约束:如,UQ,_stuID,默认(,Default Key,)约束:如,DF,_stuAddress,检查(,Check Key,)约束:如,CK,_stuAge,外键,(Foreign Key),约束:如,FK,_stuNo,添加约束示例,ALTER TABLE,stuInfo,ADD CONSTRAINT,PK_stuNo,PRIMARY KEY,(,stuNo,),ALTER TABLE,stuInfo,ADD CONSTRAINT,UQ_stuID,UNIQUE,(,stuID,),ALTER TABLE,stuInfo,ADD CONSTRAINT,DF_stuAddress,DEFAULT,(,地址不详,),FOR,stuAddress,ALTER TABLE,stuInfo,ADD CONSTRAINT,CK_stuAge,CHECK,(,stuAge,BETWEEN,15,AND,40),ALTER TABLE,stuMarks,ADD CONSTRAINT,FK_stuNo,FOREIGN KEY,(,stuNo,),REFERENCES,stuInfo,(,stuNo,),GO,演示:给学员信息表,stuInfo,添加约束,添加主键约束,(,stuNo作为主键,),添加唯一约束,(,因为每人的身份证号全国唯一,),添加默认约束,(,如果地址不填,默认为“地址不详,”),添加检查check约束,要求年龄只能在1540岁之间,添加外键约束,(,主表stuInfo和从表stuMarks建立关系,关联字段为stuNo,),添加约束示例,演示:查看约束结果,删除约束,如果错误地添加了约束,我们还可以删除约束,删除约束的语法,ALTER TABLE,表名,DROP CONSTRAINT,约束名,例如:删除,stuInfo,表中地址默认约束,ALTER TABLE,stuInfo,DROP CONSTRAINT,DF_stuAddress,回顾,SQL Server,的安全模型,数据库,1,数据库,2,数据库,3,表,1,表,2,表,1,表,2,表,1,表,2,增删,改查,增删,改查,增删,改查,增删,改查,增删,改查,增删,改查,数据库用户,数据库用户,数据库用户,登录帐号,SQLserver,三层安全管理,登录方式回顾,登录验证有两种方式:,SQL,身份验证:适合于非,windows,平台的用户或,Internet,用户, 需要提供帐户和密码,Windows,身份验证:适合于,windows,平台用户,不需要提供密码,和,windows,集成验证,登录帐户相应有两种:,SQL,帐户,和,Windows,帐户,创建登录,添加,Windows,登录帐户,EXEC,sp_grantlogin,jbtrainingS26301,添加,SQL,登录帐户,EXEC,sp_addlogin,zhangsan, 1234,演示创建登录,EXEC,表示调用存储过程,,存储过程类似,C,语言的函数,内置的系统管理员 帐户,sa,密码默认为空,建议修改密码,域名,用户名,用户名,密码,创建登录,创建数据库用户,创建数据库用户需要调用系统存储过程,sp_grantdbaccess,,其用法为:,EXEC,sp_grantdbaccess,登录,帐户名,,,数据库用户名,其中,“数据库用户“为可选参数,默认为登录帐户,,,即数据库用户默认和登录帐户同名,。,USE,stuDB,GO,EXEC,sp_grantdbaccess,jbtrainingS26301,S26301DBUser,EXEC,sp_grantdbaccess,zhangsan,zhangsanDBUser,在,stuDB,数据库中添加两个用户,创建数据库用户,系统内置的数据库用户,dbo,用户,表示数据库的所有者(,DB Owner,),无法删除,dbo,用户,此用户始终出现在每个数据库中,guest,用户,适用于没有数据库用户的登录帐号访问,每个数据库可有也可删除,向数据库用户授权,Employees,EmployeeID,1,2,3,LastName,Davolio,Fuller,Leverling,FirstName,Nancy,Andrew,Janet,ReportsTo,2,2,.,delete FROM Employees,SELECT * FROM Employees,权限的类型,授权的语法为:,GRANT,权限,ON,表名, TO,数据库用户,USE,stuDB,GO,/*-,为zhangsanDBUser分配对表stuInfo的select, insert,update权限,-*/,GRANT,select, insert, update,ON,stuInfo,TO,zhangsanDBUser,/*-为S26301DBUser分配建表的权限-*/,GRANT,create table,TO,S26301DBUser,权限的类型,没有授予,delete,权限,总结,2-1,数据库的物理实现一般包括:,创建数据库,创建表,添加各种约束,创建数据库的登录帐户并授权,创建数据库或表时一般需要预先检测是否存在该对象,数据库从,master,系统数据库的,sysdatabases,表中查询,表从该数据库的系统表,sysobjects,表中查询,总结,2-2,访问,SQL Server,某个数据库中的某个表,需要三层验证:,是否是,SQL Server,的登录帐户,是否是该数据库的用户,是否有足够的权限访问该表,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!