- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL数据库优化
数据库的设计
什么是数据库设计:
数据库设计就是将数据库中的数据实体以及这些数据实体之间的关系,进行规划和结构化的过程。
良好的数据库设计:
效率高
便于进一步扩展
使得应用程序的开发变得容易
数据库设计的步骤:
需求分析阶段:分析客户的业务和数据处理需求
概要设计阶段:绘制数据库的E-R图
详细设计阶段:将E-R图转换为多张表,进行逻辑设计,确认各表的主外键,并应用数据库设计的三大范式进行审核
代码编写阶段:
数据库系统分析步骤:
收集信息;确定要哪些表以及初步了解表结构
标识实体:从需求里找出可以当做表的对象
标识每个实体需要存储的详细信息;表中的字段
标识实体之间的关系:主外键关系
绘制E-R图(实体-关系图)
矩形表示实体集
椭圆形表示属性
菱形表示联系集
直线用来连接属性和实体集,也用来连接实体集和联系集
直线可以是有方向的,用来表示联系集的映射基数
数据规范化
不是用范式出现的问题:
信息重复
更新异常
插入异常(无法表示某些信息)
删除异常(丢失有用信息)
范式设计
第一范式:确保每列的原子性
第二范式:确保表中每列都和主键相关
第三范式:确保每列都和主键直接相关,而不是间接相关
数据库的实现
添加数据:
insert into 表名 (列名1,列名2,列名3,……) values(值1,值2,值3,……)
修改数据:
update 表名 set 列1=值1,列2=值2,……where(条件)
查询数据:
select 列1,列2,……from 表名 where (条件) order by 列名
删除数据:
delete from 表名 where (条件)
使用SQL语句创建和删除数据库
数据库文件的组成:
主数据文件:*.mdf
次要数据文件:*.ndf
日志文件:*.ldf
每个数据库至少包含两个文件,一个数据文件和一个日记文件
创建数据库:
create database 数据库名
on [primary]
(
数据库文件参数[,……n] [文件组参数]
)
[log on]
(
{日志文件参数[,……n]}
)
文件的具体参数:
(
[name=逻辑文件名,]
filename=物理文件名
[,size=大小]
[,maxsize={最大容量|unlimited}]
[,filegrowth=增长量]
)[,……]
文件组参数:
filegroup 文件组名文件参数[,……n]
其中,“[]”表示可选部分,“{}”表示必须部分
例:
create database myschool
on primary
(
name = ‘myschool_data’,
filename = ‘d:\myschool_data.mdf’,
size = 5mb,
maxsize = 100mb,
filegrowth = 15%
)
log on
(
name = ‘myschool_log’;
filename = ‘d:\myschool_log.ldf’,
size = 2mb,
filegrowth = 1mb
)
go
删除数据库:
drop database 数据库名
SQL Server中的数据类型
整型:
int 占用4个字节的整数
smallint 占用2个字节的整数
tinyint 占用1个字节的整数
浮点型:
real 近似数值类型
float 近似数值类型
decimal 固定精度和范围的数值类型
numeric 与decimal类型相同
字符型:
char 固定长度非Unicode字符数据,最大8000个字节
varchar 可变长度非Unicode字符数据
text 非Unicode字符数据
Unicode型:
nchar 固定长度Unicode字符数据,最大4000个字节
nvarchar 可变长度Unicode字符数据
ntext Unicode字符数据
是/否型:
bit 只能是0、1或空值
二进制型:
binary 定长的二进制数据
varbinary 变长的二进制数据
image 变长的二进制数据
货币型:
money 固定精度和范围的数值型数据
smallmoney 通money,但小于money的取值范围
日期时间型:
datetime 表示日期和时间,可以精确到11300秒3.33毫秒
smalldatetime 通datetime,精确到一分钟
特殊类型:
timestamp 创建一个数据库范围内的唯一时间戳
uniqueidentifer 一个全局唯一的标示符
创建表:
create table 表名
(
列1 数据类型 列的特征,
列2 数据类型 列的特征,
……
)
删除表:
d
您可能关注的文档
最近下载
- 审稿意见回复信英文模板和语料总结.pdf
- GB50461-2008:石油化工静设备安装工程施工质量验收规范.pdf VIP
- Bose博士SoundTouch 300 Soundbar 扬声器说明书.pdf
- 剧本杀完整剧本 罪恶(4人封闭).docx
- 新版pep小学英语五年级上册unit2alet'stalk课件.ppt
- 1.2.1 学习使用显微镜课件2024-2025学年度七年级上册人教版生物学.pptx VIP
- (完整版)加油站基本情况调查分析报告.doc
- 2024年轮胎行业分析报告:万亿市场群雄逐鹿,步入2.0时代消费属性凸显.pdf
- 阅读考级练习之《无字书图书馆》测试题【附答案】.docx
- 主题3:友情类20篇(解析版)-备战2022年新高考英语读后续写主题分类专项汇编.docx
文档评论(0)