《数据库的实现》PPT课件.ppt_第1页
《数据库的实现》PPT课件.ppt_第2页
《数据库的实现》PPT课件.ppt_第3页
《数据库的实现》PPT课件.ppt_第4页
《数据库的实现》PPT课件.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第八章,数据库的实现,课程内容回顾,需求分析阶段,数据库设计的一般步骤有哪些? 如何将E-R图转换成数据表? 简单描述3大范式,本章目标,使用SQL语句创建数据库和表 使用SQL语句创建约束 创建安全帐户的SQL语句,数据库基础知识回顾,创建数据库时: 指定数据库名称 主数据库文件和日志文件的名称和大小。,数据库文件的组成 : 主数据文件:*.mdf 次要数据文件:*.ndf 日志文件:*.ldf,数据库的其他主要属性 : 文件存放位置分配的初始空间,属于哪个文件组。 文件的增长设置,可以按百分比或实际大小指定增长速度。 文件容量设置,可以指定文件增长的最大值或不受限,创建数据库,CREATE DATABASE 数据库名 ON PRIMARY (NAME=逻辑文件名, FILENAME=物理文件名 , SIZE=大小 ,MAXSIZE=最大容量|UNLIMITED ,FILEGROWTH=增长量) ,。n LOG ON (NAME=逻辑文件名, FILENAME=物理文件名 ,SIZE=大小 ,MAXSIZE=最大容量|UNLIMITED ,FILEGROWTH=增长量) ,。n ,建库语法,创建数据库示例 1,USE master GO CREATE DATABASE empDB ON PRIMARY -主文件组,不能省略 /* -数据文件的具体描述-*/ ( NAME=empDB_data, -主数据文件的逻辑名 FILENAME=D:DataempDB_data.mdf, -主数据文件的物理名 SIZE=5MB, -主数据文件的初始大小 MAXSIZE=15MB, -主数据文件增长的最大值(UNLIMITED为增长不受限制) FILEGROWTH=20%) -文件的增长率 LOG ON /*-日志文件的具体描述,各参数含义同上-*/ (NAME=empDB_log, FILENAME=D:DataempDB_log.ldf, SIZE=2MB, MAXSIZE=5MB, FILEGROWTH=1MB ) GO,演示创建数据库1:一个数据文件和一个日志文件,创建数据库示例 2,USE master GO CREATE DATABASE Archive ON PRIMARY /*-主数据文件的具体描述-*/ ( NAME = Arch1, FILENAME = d:dataarchdat1.mdf, SIZE = 10MB, MAXSIZE = 15, FILEGROWTH = 5), /*-次要数据文件1的具体描述-*/ ( NAME = Arch2, FILENAME = d:dataarchdat2.ndf, SIZE = 10MB, MAXSIZE = 15, FILEGROWTH = 5),演示创建数据库2:多个数据文件和多个日志文件,创建数据库示例 2,/*-次要数据文件2的具体描述-*/ ( NAME = Arch3, FILENAME = d:dataarchdat3.ndf, SIZE = 10MB, MAXSIZE = 15, FILEGROWTH = 5), LOG ON /*-日志文件1的具体描述-*/ ( NAME = Archlog1, FILENAME = d:dataarchlog1.ldf, SIZE = 5MB, MAXSIZE = 10, FILEGROWTH = 5), /*-日志文件2的具体描述-*/ ( NAME = Archlog2, FILENAME = d:dataarchlog2.ldf, SIZE = 5MB, MAXSIZE = 10, FILEGROWTH = 5) GO,演示创建数据库2:多个数据文件和多个日志文件,删除数据库,DROP DATABASE database_name ,.。n,USE master GO DROP DATABASE pubs,使用SQL语句创建表,建表的步骤 确定表中有哪些列 确定每列的数据类型 给表添加各种约束 创建各表之间的关系,整型:int,smallint 小数:decimal,numeric,字符: 固定长度:char(6) 可变长度:varchar(10) Unicode字符:nvarchar(10),日期: datetime,货币: money,布尔: Bit 取值为0或1,创建表,CREATE TABLE 表名 ( 字段1 数据类型 列的特征, 字段2 数据类型 列的特征, 。 ),语法,列的特征包括该列是否为空(NULL)、是否是标识列(自动编号)、 是否有默认值、是否为主键等。,创建表示例一,CREATE TABLE DEPT ( deptno INT PRIMARY KEY, -主键(唯一,非空) dname CHAR(15) NOT NULL, -部门名称,非空(必填) loc VARCHAR(30) -部门位置,允许为空,即可选输入 ),演示创建部门表dept,创建表示例二,CREATE TABLE EMP ( empno INT PRIMARY KEY, -雇员编号,主键 ename VARCHAR(10) NOT NULL, -雇员姓名 job VARCHAR(9) , -工种 sal DECIMAL(7,2) NOT NULL, -工资 deptno INT NOT NULL, -雇员所在部门号,外键CONSTRAINT emp_deptno_fk FOREIGN KEY(deptno) REFERENCES dept(deptno) ),演示创建雇员表emp,创建表示例三,CREATE TABLE stuInfo ( stuNo INT IDENTITY(1,1) -学号,自动编号(标识列) stuName VARCHAR(20) NOT NULL, -姓名 stuAge INT NOT NULL, -年龄 stuAddress VARCHAR(30) -地址 ),演示创建学生信息表stuInfo,创建表示例四,使用SELECT INTO 生成表结构和数据的拷贝: SELECT * INTO newdept FROM dept,删除表,USE empDB GO /检查数据库中是否存在该表,如果存在则删除 IF EXISTS ( SELECT * FROM sysobjects WHERE name=dept) DROP TABLE dept,语法:DROP TABLE 表名,系统表:存放表的清单,演示删除表dept,创建和删除约束,回顾约束类型: 主键约束(primary key constraint):要求主键列数据唯一,并且不允许为空。 唯一约束(unique constraint):要求该列唯一,允许为空,但只能出现一个空值。 检查约束(check constraint):某列取值的限制、格式的限制等。如有关性别的检查。 默认约束(default constraint):某列输入数据时的默认值,强制了域完整性。 外键约束(foreign key constraint):用于在两表间建立关系,需要指定引用主表的哪列。,给表添加约束,添加约束语法: 约束的命名规则推荐采用:约束类型_约束字 例如: 给dept表的deptno字段添加主键约束,推荐起名为:PK_deptno 给Emp表的ename字段添加唯一约束,可起名为:UQ_ename,ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束类型 具体的约束说明,添加约束示例,USE empDB GO -添加主键约束 (deptno作为主键), 约束名为pk_deptno ALTER TABLE dept ADD CONSTRAINT pk_deptno PRIMARY KEY(deptno) 添加唯一约束,希望员工名字唯一 ALTER TABLE emp ADD CONSTRAINT UQ_ename UNIQUE(ename) 添加检查约束,要求雇员工资少于3000 ALTER TABLE emp ADD CONSTRAINT ck_sal CHECK(sal=3000) 添加默认值约束,工资的默认值是 ALTER TABLE EMP ADD CONSTRAITNT df_sal DEFAULT 800 FOR sal 添加外键约束(主表dept和从表emp建立关系,关联字段为deptno) ALTER TABLE emp ADD CONSTRAINT fk_deptno FOREIGN KEY(deptno) REFERENCES dept(deptno),添加约束示例,演示:查看约束结果,删除约束,删除约束语法:,ALTER TABLE 表名 DROP CONSTRAINT 约束名,例如删除表emp中的工资默认值约束 ALTER TABLE EMP DROP CONSTRAINT df_sal,回顾SQL Server的安全模型,增删 改查,增删 改查,增删 改查,增删 改查,增删 改查,增删 改查,数据库用户,数据库用户,数据库用户,登录帐号,SQLserver三层安全管理,数据表1 数据表2,DB1,数据表1 数据表2,DB2,数据表1 数据表2,DB3,登录方式回顾,登录验证有两种方式: SQL身份验证:适合于非windows平台的用户或Internet用户, 需要提供帐户和密码 Windows身份验证:适合于windows平台用户,不需要提供密码,和windows集成验证 登录帐户相应有两种::SQL 帐户和Windows帐户,创建登录账户,使用SQL语句创建两种模式下的登录帐户 添加WINDOWS登录帐户 添加SQL登录帐户,EXEC sp_grantlogin windows域名域帐户,EXEC EXEC sp_addlogin 帐户名,密码,创建登录账户,添加Windows登录帐户 /windows用户为S01,SDXY表示域 如是本机,SDXY为计算机名 EXEC sp_grantlogin SDXYS01 添加SQL登录帐户 /登录名为zhangsan,密码为1234 EXEC sp_addlogin zhangsan, 1234 GO,演示:创建登录帐户,创建数据库用户,创建了登录帐户,只能登录到SQL Server系统,但还不能访问某个数据库。如果希望访问某个数据库,必须要成为该数据库的一个用户。 创建数据库用户需要调用系统存储过程sp_grantdbaccess 在empDB中添加两个用户,EXEC sp_grantdbaccess 登录帐户,数据库用户,USE empDB - S01DBUser为数据库用户名 EXEC sp_grantdbaccess SDXYS01,S01DBUser EXEC sp_grantdbaccess zhangsan,zhangsanDBUser,演示:创建数据库用户,给数据库用户授权,当成为数据库用户后,还不能访问表,需要DBA授予普通用户访问表的权限:insert ,update ,delete ,select 语法:,GRANT 权限 ON 表名 TO 数据库用户,USE empDB GO -为zhangsanDBUser 分配对表emp的select,insert,update权限 GRANT select,insert,update ON emp TO zhangsanDBUser -为用户s01DBUser 分配建表

温馨提示

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

评论

0/150

提交评论