




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1 SQL教学课程建库建表约束等教学课程建库建表约束等PPT课件课件 2 第1页/共31页 3 第2页/共31页 4 数据库文件的组成: 主数据文件:*.mdf 次要数据文件:*.ndf 日志文件:*.ldf 数据库的其他属性: 文件存放位置,分配的初始空间,属于哪个文件组 文件增长:可以按百分比或实际大小指定增长速度 文件容量设置:可以指定文件增长的最大值或不受 限 第3页/共31页 5 CREATE DATABASE 数据库名 ON PRIMARY ( ,n ) LOG ON ( ,n ) T-SQL创建数据库的语法: 主文件组,可选参数,默认 第4页/共31页 6 CREATE D
2、ATABASE 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 数据文件的 具体描述 日志
3、文件的 具体描述 演示创建数据库1:一个数据文件和一个日志文件 第5页/共31页 7 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
4、 ) 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:多个数据文件和多个日志文件 第6页/共31页 8 CREATE DATABASE
5、stuDB ON ( . ) LOG ON ( . ) GO 演示:再次运行示例1 第7页/共31页 9 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数据库,则删除 第8页/共31页 10 建表的
6、基本步骤: 确定表中有哪些列 确定每列的数据类型 给表添加各种约束 创建各表之间的关系 SQL Server中的数据类型 整型数据:int smallint 浮点数据:float numeric 字符数据 固定长度:char(6) 可变长度: varchar(10) unicode编码: nchar(10) 布尔数据(真/假) bit: 1/ 0 货币数据 money 日期数据 datetime 第9页/共31页 11 CREATE TABLE 表名 ( 字段1 数据类型 列的特征, 字段2 数据类型 列的特征, . ) 列的特征: 包括该列是是否为空(NULL)、是否是标识列( 自动编号)、
7、是否有默认值、是否为主键等。 第10页/共31页 12 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 -住址,允
8、许为空,即可选输入 ) GO NUMERIC (18,0) 代表18位数字,小数位数为0 演示:创建学员信息表stuInfo IDENTITY(起始值,递增量) 第11页/共31页 13 CREATE TABLE stuMarks ( ExamNo CHAR(7) NOT NULL, -考号 stuNo CHAR(6) NOT NULL, -学号 writtenExam INT NOT NULL, -笔试成绩 LabExam INT NOT NULL -机试成绩 ) GO 演示:创建学员成绩表 stuMarks 第12页/共31页 14 第13页/共31页 15 DROP TABLE 表名 U
9、SE stuDB -将当前数据库设置为stuDB ,以便在stuDB数据库中建表 GO IF EXISTS(SELECT * FROM sysobjects WHERE name=stuInfo ) DROP TABLE stuInfo CREATE TABLE stuInfo /*-创建学员信息表-*/ ( . ) GO 第14页/共31页 16 第15页/共31页 17 ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束类型 具体的约束说明 q 约束名的取名规则推荐采用:约束类型_约束字段 q 主键(Primary Key)约束:如 PK_stuNo q 唯一(Uni
10、que Key)约束:如 UQ_stuID q 默认(Default Key)约束:如 DF_stuAddress q 检查(Check Key)约束:如 CK_stuAge q 外键(Foreign Key)约束:如 FK_stuNo 第16页/共31页 18 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_stuAddr
11、ess 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约
12、束,要求年龄只能在1540岁之间 添加外键约束(主表stuInfo和从表stuMarks建立关系,关联字段为stuNo) 第17页/共31页 19 ALTER TABLE 表名 DROP CONSTRAINT 约束名 例如:删除stuInfo表中地址默认约束 ALTER TABLE stuInfo DROP CONSTRAINT DF_stuAddress 第18页/共31页 20 S Q L s e r v e r 三 层 安 全 管 理 数据库数据库 1数据库数据库 2数据库数据库 3 表表 1表表 2表表 1表表 2表表 1表表 2 增删增删 改查改查 增删增删 改查改查 增删增删 改查
13、改查 增删增删 改查改查 增删增删 改查改查 增删增删 改查改查 数据库用户数据库用户 数据库用户数据库用户 数据库用户数据库用户 登录帐号登录帐号 SQLserver三层安全管理三层安全管理 第19页/共31页 21 第20页/共31页 22 演示创建登录 EXEC表示调用存储过程, 存储过程类似C语言的函数 内置的系统管理员 帐户sa 密码默认为空,建议修改密码 域名用户名 用户名,密码 第21页/共31页 23 第22页/共31页 24 EXEC sp_grantdbaccess 登录帐户名,数据库用户 名 其中,“数据库用户“为可选参数,默认为登录帐户, 即数据库用户默认和登录帐户同名
14、。 USE stuDB GO EXEC sp_grantdbaccess jbtrainingS26301, S26301DBUser EXEC sp_grantdbaccess zhangsan, zhangsanDBUser 在stuDB数据库中添加两个用户 第23页/共31页 25 第24页/共31页 26 Employees EmployeeID 1 2 3 LastName Davolio Fuller Leverling FirstName Nancy Andrew Janet ReportsTo 2 2 . delete FROM EmployeesSELECT * FROM E
15、mployees 第25页/共31页 27 USE stuDB GO /*-为zhangsanDBUser分配对表stuInfo的select, insert, update权限-*/ GRANT select, insert, update ON stuInfo TO zhangsanDBUser /*-为S26301DBUser分配建表的权限-*/ GRANT create table TO S26301DBUser 第26页/共31页 28 USE stuDB GO /*-删除zhangsanDBUser对表stuInfo的select, insert, update权限-*/ Revoke select, insert, update ON stuInfo From zhangsanDBUser /*- 删除 S26301DBUser建表的权限-*/ Revoke create table From S26301DBUser 第27页/共31页 29 USE st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空调冷凝器铜管破裂诱发火灾致因研究
- 2025年专利授权居间合同
- 2025年旅游酒店服务担保合同标准
- 2025年粮食销售代理合同
- 2025年房地产租赁合同范本协议
- 2025年劳务派遣合同标准版
- 2025安徽衡安建设工程有限公司第一批社会招聘专业技术人员5人考试模拟试题及答案解析
- 2025江苏徐州市泉山国有资产投资经营有限公司工作人员2人考试模拟试题及答案解析
- 山东省土地发展集团2026届高校毕业生校园招聘(23人)考试模拟试题及答案解析
- 2025区域发展:低空无人机物流区域发展规划与差异化发展策略报告
- 心灵树洞中小学生心理健康主题班会PPT教学课件
- 低血糖症-课件
- 木质纤维素的生物分解及其转化技术
- 海康威视磁盘阵列使用说明精.选
- GB/T 7387-1999船用参比电极技术条件
- GB/T 39473-2020北斗卫星导航系统公开服务性能规范
- GB 16808-2008可燃气体报警控制器
- 公司有限空间作业安全专项排查表
- 强度调制机理光纤传感器基本原理课件
- 《当代中国经济》第一章中国经济体制改革
- 《自强不息的人格修养》-课件1
评论
0/150
提交评论