




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、http:/第二章数据库实现http:/中国十大品牌IT教育机构回顾在需求分析阶段,设计数据库的一般步骤为?实体的映射关系有哪些?请简要说明三大范式的含义?http:/中国十大品牌IT教育机构目标 掌握建库的SQL语句 掌握建表的SQL语句 掌握加约束的SQL语句 掌握创建安全帐户的SQL语句http:/中国十大品牌IT教育机构回顾数据库的基础知识数据库文件的组成:1. 主数据文件:*.mdf2. 次要数据文件:*.ndf3. 日志文件:*.ldf数据库的其他属性:1. 文件存放位置,分配的初始空间,属于哪个文件组2. 文件增长:可以按百分比或实际大小指定增长速度3. 文件容量设置:可以指定文
2、件增长的最大值或不受限http:/中国十大品牌IT教育机构创建数据库 CREATE DATABASE 数据库名 ON PRIMARY ( ,n ) LOG ON ( ,n )T-SQL创建数据库的语法:主文件组,可选参数,默认http:/中国十大品牌IT教育机构创建数据库示例 1CREATE DATABASE stuDB ON PRIMARY -默认就属于PRIMARY主文件组,可省略( NAME=stuDB_data, -主数据文件的逻辑名 FILENAME=D:projectstuDB_data.mdf, -主数据文件的物理名 SIZE=5mb, -主数据文件初始大小 MAXSIZE=10
3、0mb, -主数据文件增长的最大值 FILEGROWTH=15% -主数据文件的增长率)LOG ON( NAME=stuDB_log, FILENAME=D:projectstuDB_log.ldf, SIZE=2mb, FILEGROWTH=1MB)GO 数据文件的具体描述日志文件的具体描述演示创建数据库1:一个数据文件和一个日志文件 http:/中国十大品牌IT教育机构创建数据库示例 2CREATE DATABASE employees ON ( /*-主数据文件的具体描述-*/ NAME = employee1, FILENAME = D:projectemployee1_Data.md
4、f , 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
5、= employeelog2, FILENAME = D:projectemployeelog2_Log.ldf , SIZE = 10, MAXSIZE = 50, FILEGROWTH = 1 )GO 演示创建数据库2:多个数据文件和多个日志文件 http:/中国十大品牌IT教育机构删除数据库如果SQL Server中已存在数据库stuDB,运行下列语句,会出现什么问题?CREATE DATABASE stuDBON (.)LOG ON(.)GO演示:再次运行示例1http:/中国十大品牌IT教育机构USE master -设置当前数据库为master,以便访问sysdatabases表G
6、OIF EXISTS(SELECT * FROM sysdatabases WHERE name =stuDB) DROP DATABASE stuDBCREATE DATABASE stuDBON ( .)LOG ON( )GO删除数据库删除数据库的语法:DROP DATABASE 数据库名 EXISTS()语句:检测是否存在stuDB数据库如果存在stuDB数据库,则删除 http:/中国十大品牌IT教育机构回顾表的基础知识 建表的基本步骤:1. 确定表中有哪些列2. 确定每列的数据类型3. 给表添加各种约束4. 创建各表之间的关系SQL Server中的数据类型 整型数据:int sma
7、llint 浮点数据:float numeric字符数据固定长度:char(6)可变长度: varchar(10) unicode编码:nchar(10) 布尔数据(真/假) bit: 1/ 0 货币数据 money日期数据 datetimehttp:/中国十大品牌IT教育机构创建表建表的语法CREATE TABLE 表名 ( 字段1 数据类型 列的特征, 字段2 数据类型 列的特征, .)列的特征:包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。 http:/中国十大品牌IT教育机构建表示例 1USE stuDB -将当前数据库设置为stuDB GOCR
8、EATE 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 -住址,允许为空,即可选输入) GONUMERIC (18,0)代表18位数字,小数位数为0演示:创建学员信息表stuInfoID
9、ENTITY(起始值,递增量) http:/中国十大品牌IT教育机构建表示例 2CREATE TABLE stuMarks( ExamNo CHAR(7) NOT NULL, -考号 stuNo CHAR(6) NOT NULL, -学号 writtenExam INT NOT NULL, -笔试成绩 LabExam INT NOT NULL -机试成绩)GO演示:创建学员成绩表 stuMarkshttp:/中国十大品牌IT教育机构删除表如果当前数据库中已存在stuInfo表,再次创建时系统将提示出错 。如何解决呢?http:/中国十大品牌IT教育机构删除表删除表的语法:DROP TABLE
10、表名USE stuDB -将当前数据库设置为stuDB ,以便在stuDB数据库中建表GOIF EXISTS(SELECT * FROM sysobjects WHERE name=stuInfo ) DROP TABLE stuInfoCREATE TABLE stuInfo /*-创建学员信息表-*/(.) GOhttp:/中国十大品牌IT教育机构回顾SQL Server的约束约束的目的:确保表中数据的完整型常用的约束类型:1. 主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空2. 唯一约束(Unique Constraint):要求该列唯一,允
11、许为空,但只能出现一个空值。3. 检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束4. 默认约束(Default Constraint):某列的默认值,如我们的男性学员较多,性别默认为“男”5. 外键约束(Foreign Key Constraint):用于两表间建立关系,需要指定引用主表的那列http:/中国十大品牌IT教育机构添加约束 添加约束的语法:ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束类型 具体的约束说明q 约束名的取名规则推荐采用:约束类型_约束字段q主键(Primary Key)约束:如 PK_stuNo
12、q唯一(Unique Key)约束:如 UQ_stuIDq默认(Default Key)约束:如 DF_stuAddressq检查(Check Key)约束:如 CK_stuAgeq外键(Foreign Key)约束:如 FK_stuNo http:/中国十大品牌IT教育机构添加约束示例ALTER TABLE stuInfo ADD CONSTRAINT PK_stuNo PRIMARY KEY (stuNo)ALTER TABLE stuInfo ADD CONSTRAINT UQ_stuID UNIQUE (stuID)ALTER TABLE stuInfo ADD CONSTRAINT
13、DF_stuAddress DEFAULT (地址不详) FOR stuAddressALTER 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作为主键)添加唯一约束(因为每人的身份证号全国唯一)添加默认约束(如果地址不填,默认为“地址不详”)添加检查chec
14、k约束,要求年龄只能在1540岁之间添加外键约束(主表stuInfo和从表stuMarks建立关系,关联字段为stuNo)http:/中国十大品牌IT教育机构删除约束如果错误地添加了约束,我们还可以删除约束 删除约束的语法ALTER TABLE 表名 DROP CONSTRAINT 约束名 例如:删除stuInfo表中地址默认约束ALTER TABLE stuInfo DROP CONSTRAINT DF_stuAddresshttp:/中国十大品牌IT教育机构回顾SQL Server的安全模型数据库 1数据库 2数据库 3表 1表 2表 1表 2表 1表 2增删改查增删改查增删改查增删改查增
15、删改查增删改查数据库用户数据库用户数据库用户登录帐号登录帐号SQLserver三层安全管理http:/中国十大品牌IT教育机构登录方式回顾登录验证有两种方式:1. SQL身份验证:适合于非windows平台的用户或Internet用户, 需要提供帐户和密码2. Windows身份验证:适合于windows平台用户,不需要提供密码,和windows集成验证登录帐户相应有两种:SQL 帐户和Windows帐户 http:/中国十大品牌IT教育机构创建登录添加 SQL登录帐户 EXEC sp_addlogin zhangsan, 1234演示创建登录EXEC表示调用存储过程,存储过程类似C语言的函数
16、内置的系统管理员 帐户sa密码默认为空,建议修改密码 域名用户名用户名,密码http:/中国十大品牌IT教育机构创建登录http:/中国十大品牌IT教育机构创建数据库用户创建数据库用户需要调用系统存储过程sp_grantdbaccess,其用法为:EXEC sp_grantdbaccess 登录帐户名,数据库用户名 其中,“数据库用户“为可选参数,默认为登录帐户,即数据库用户默认和登录帐户同名。USE stuDBGOEXEC sp_grantdbaccess jbtrainingS26301, S26301DBUser EXEC sp_grantdbaccess zhangsan, zhang
17、sanDBUser在stuDB数据库中添加两个用户http:/中国十大品牌IT教育机构创建数据库用户http:/中国十大品牌IT教育机构向数据库用户授权 EmployeesEmployeeID123LastNameDavolioFullerLeverling FirstName NancyAndrewJanetReportsTo22 .delete FROM EmployeesSELECT * FROM Employeeshttp:/中国十大品牌IT教育机构权限的操作 2-1授权的语法为:GRANT 权限 ON 表名 TO 数据库用户USE stuDBGO/*-为zhangsanDBUser分
18、配对表stuInfo的select, insert, update权限-*/GRANT select, insert, update ON stuInfo TO zhangsanDBUser /*-为S26301DBUser分配建表的权限-*/GRANT create table TO S26301DBUserhttp:/中国十大品牌IT教育机构权限的操作2-2删除权限的语法为:Revoke 权限 ON 表名 From 数据库用户USE stuDBGO/*-删除zhangsanDBUser对表stuInfo的select, insert, update权限-*/Revoke select, insert, update
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年邯郸货运资格证模拟考试题
- AI算法设计与应用操作手册
- 食品原料来源可追溯管理系统开发
- 品味古典诗词韵味之美-高三古诗文诵读与赏析教学教案
- 2025年新疆从业资格证500道题速记
- 江干区小学英语试卷
- 钨基高比重合金竞争策略分析报告
- 小学英语买试卷
- 公司承包转让合同范本
- 双方变更合同范本
- 《食品安全风险管控清单》
- 电梯井脚手架搭设施工施工方法及工艺要求
- DL-T-710-2018水轮机运行规程
- 【正版授权】 IEC 62317-9:2006+AMD1:2007 CSV EN Ferrite cores - Dimensions - Part 9: Planar cores
- 《阿Q正传》(课件)2023-2024高二语文选择性必修下册
- 2024届辽宁省沈阳市名校中考化学模拟试题含解析
- 2024年湖南民族职业学院单招职业适应性测试题库及答案解析
- (2024年)电工安全培训(新编)课件
- 国际贸易理论与实务(陈岩 第四版) 课件全套 第0-16章 绪论、国际贸易理论、国际贸易政策-国际贸易方式
- 品质人员培训资料
- 浙江金融职业学院单招《职业技能测试》参考试题库(含答案)
评论
0/150
提交评论