SQL Server数据库设计和高级查询SQL AdvanceV.pptx
《SQL Server数据库设计和高级查询SQL AdvanceV.pptx》由会员分享,可在线阅读,更多相关《SQL Server数据库设计和高级查询SQL AdvanceV.pptx(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、回顾在需求分析阶段,设计数据库的一般步骤为?实体的映射关系有哪些?请简要说明三大范式的含义?第1页/共33页目标 掌握建库的SQL语句 掌握建表的SQL语句 掌握加约束的SQL语句 掌握创建安全帐户的SQL语句第2页/共33页回顾数据库的基础知识数据库文件的组成:主数据文件:*.mdf次要数据文件:*.ndf日志文件:*.ldf数据库的其他属性:文件存放位置,分配的初始空间,属于哪个文件组文件增长:可以按百分比或实际大小指定增长速度文件容量设置:可以指定文件增长的最大值或不受限第3页/共33页创建数据库 CREATE DATABASE 数据库名 ON PRIMARY(,n )LOG ON (,
2、n)T-SQL创建数据库的语法:主文件组,可选参数,默认第4页/共33页创建数据库示例 1CREATE 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,SIZ
3、E=2mb,FILEGROWTH=1MB)GO 数据文件的具体描述日志文件的具体描述演示创建数据库1:一个数据文件和一个日志文件 第5页/共33页创建数据库示例 2CREATE 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,FILEGR
4、OWTH=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:多个数据文件和多个日志文件 第6页/共33页删除数据库如果SQL Server中已存在数据库stuDB,运行下列语句,会出现什么问题?CR
5、EATE DATABASE stuDBON(.)LOG ON(.)GO演示:再次运行示例1第7页/共33页USE master -设置当前数据库为master,以便访问sysdatabases表GOIF EXISTS(SELECT*FROM sysdatabases WHERE name=stuDB)DROP DATABASE stuDBCREATE DATABASE stuDBON(.)LOG ON()GO删除数据库删除数据库的语法:DROP DATABASE 数据库名 EXISTS()语句:检测是否存在stuDB数据库如果存在stuDB数据库,则删除 第8页/共33页回顾表的基础知识 建表
6、的基本步骤:确定表中有哪些列确定每列的数据类型给表添加各种约束创建各表之间的关系SQL Server中的数据类型 整型数据:int smallint 浮点数据:float numeric字符数据固定长度:char(6)可变长度:varchar(10)unicode编码:nchar(10)布尔数据(真/假)bit:1/0 货币数据 money日期数据 datetime第9页/共33页创建表建表的语法CREATE TABLE 表名(字段1 数据类型 列的特征,字段2 数据类型 列的特征,.)列的特征:包括该列是是否为空(NULL)、是否是标识列(自动编号)、是否有默认值、是否为主键等。第10页/共
7、33页建表示例 1USE stuDB -将当前数据库设置为stuDB GOCREATE 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位数字,
8、小数位数为0演示:创建学员信息表stuInfoIDENTITY(起始值,递增量)第11页/共33页建表示例 2CREATE TABLE stuMarks(ExamNo CHAR(7)NOT NULL,-考号 stuNo CHAR(6)NOT NULL,-学号 writtenExam INT NOT NULL,-笔试成绩 LabExam INT NOT NULL -机试成绩)GO演示:创建学员成绩表 stuMarks第12页/共33页删除表如果当前数据库中已存在stuInfo表,再次创建时系统将提示出错。如何解决呢?第13页/共33页删除表删除表的语法:DROP TABLE 表名USE stuD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL Server数据库设计和高级查询SQL AdvanceV Server 数据库 设计 高级 查询
限制150内