数据库学习笔记.docx

上传人:b****4 文档编号:6182260 上传时间:2023-05-09 格式:DOCX 页数:67 大小:81.59KB
下载 相关 举报
数据库学习笔记.docx_第1页
第1页 / 共67页
数据库学习笔记.docx_第2页
第2页 / 共67页
数据库学习笔记.docx_第3页
第3页 / 共67页
数据库学习笔记.docx_第4页
第4页 / 共67页
数据库学习笔记.docx_第5页
第5页 / 共67页
数据库学习笔记.docx_第6页
第6页 / 共67页
数据库学习笔记.docx_第7页
第7页 / 共67页
数据库学习笔记.docx_第8页
第8页 / 共67页
数据库学习笔记.docx_第9页
第9页 / 共67页
数据库学习笔记.docx_第10页
第10页 / 共67页
数据库学习笔记.docx_第11页
第11页 / 共67页
数据库学习笔记.docx_第12页
第12页 / 共67页
数据库学习笔记.docx_第13页
第13页 / 共67页
数据库学习笔记.docx_第14页
第14页 / 共67页
数据库学习笔记.docx_第15页
第15页 / 共67页
数据库学习笔记.docx_第16页
第16页 / 共67页
数据库学习笔记.docx_第17页
第17页 / 共67页
数据库学习笔记.docx_第18页
第18页 / 共67页
数据库学习笔记.docx_第19页
第19页 / 共67页
数据库学习笔记.docx_第20页
第20页 / 共67页
亲,该文档总共67页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库学习笔记.docx

《数据库学习笔记.docx》由会员分享,可在线阅读,更多相关《数据库学习笔记.docx(67页珍藏版)》请在冰点文库上搜索。

数据库学习笔记.docx

数据库学习笔记

数据库学习笔记

第1章数据库基础概述

1.1数据库系统概述

◆数据密集型应用的三个特点:

©涉及的数据量大

©数据不随程序的结束而消失

©数据被多个应用程序共享

一、数据管理技术产生和发展的3个阶段:

人工管理阶段、文件系统阶段、数据库系统阶段

◆人工管理阶段:

没有存储设备、没有管理数据的软件

特点:

©数据不保存

©应用程序管理数据

©数据不共享

©数据不具有独立性

◆文件系统阶段:

有了存储设备,有了操作系统和高级语言

有专门用于管理数据的软件——文件系统/操作系统的文件管理部分

特点:

©数据可以长期保存在磁盘上,也可以反复使用。

©程序和数据之间有了一定的独立性。

©文件的形式多样化,文件之间是独立的。

©数据的存取基本上以记录为单位。

缺陷:

©数据冗余度大

©数据独立性差,应用程序依赖性,编写应用程序不方便

©数据间联系弱

©不支持对文件的并发访问

©难以按用户视图表示数据

©无安全控制功能

◆数据库系统阶段:

有了管理数据的专门软件系统——数据库管理系统

©相互关联的数据的集合。

©较小的数据冗余

©数据具有较高的独立性

©保证数据的安全、可靠

©最大限度地保证数据的正确性——数据完整性

©数据可以并发使用并能同时保证数据的一致性

二、数据库系统的组成

◆DBS数据库系统DataBaseSystem

©DB数据库DataBas

©DBMS数据库管理系统DataBaseManagementSystem

©DBA数据库管理员DataBaseAdministrator

©开发工具

©应用系统

◆DBMS的功能:

©数据库定义功能

©数据库操纵功能

©数据库维护功能

©数据库控制功能

©数据库通信功能

©数据库服务功能

1.2数据模型

一、概念、分类、构成

1.数据模型应满足3个条件:

©能比较真实地模拟现实世界;

©容易被人们理解;

©便于在计算机上实现。

2.3个领域

©现实世界

©信息世界

©机器世界

3.数据模型的分类:

2个层次

©概念层数据模型——实体联系模型

©组织层数据模型——关系数据模型

——层次模型

——网状模型

——面向对象模型

概念层数据模型

组织层数据模型

从数据的语义视角来抽取模型

从数据的组织层次来描述数据

按用户的观点来对数据和信息进行建模

按计算机系统的观点对数据进行建模

主要用在数据库的设计阶段

主要用于DBMS的实现

与DBMS无关

与DBMS有关

数据库系统的核心和基础

4.数据模型的构成元素:

3部分

©数据结构描述静态属性数据的组成、特性及其相互间联系

©数据操作描述动态属性数据检索、更新

©数据的约束条件描述静态属性

二、实体联系模型

1.概念:

实体联系模型——E-R模型(Entity-Relationship)

E-R图——使用的工具

2.要素:

3个——实体、联系、属性

◆实体:

客观存在并可以相互区分的客观事物或抽象事件

©矩形框

◆属性:

某一特性

©椭圆框/圆角矩形框

©标识属性下加下划线

◆联系

©实体内部的联系——组成实体的各属性之间的联系。

©实体之间的联系——指不同实体之间联系。

——菱形框

(1)一对一联系(1:

1)

如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,

(2)一对多联系(1:

n)

如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有n个实例与之对应;而对实体B中的任意一个实例,在实体A中至多有一个实例与之对应,

(3)多对多联系(m:

n)

如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有n个实例与之对应;而对实体B中的一个实例,在实体A中也有m个实例与之对应

三、关系数据模型

◆用关系(表格数据)表示实体和实体之间联系的模型

◆3个要素:

关系数据结构、关系数据操作、关系完整性约束

1.关系模型的数据结构

基本术语:

◆关系——二维表

©每一列都是不可再分的基本属性;

©表中各属性不能重名;

©表中的行、列次序并不重要。

◆元组:

每一行是一个元组,一个记录值。

◆属性:

每一列是一个属性值集,列可以命名,称为属性名。

◆两套标准术语:

表、列、行——关系、属性、元组

◆关系模式——二维表的结构

◆候选关键字/侯选码/候选键:

©能唯一确定一个关系的元组而又不含有多余属性的习属性集。

©(简言之)能够唯一确定一个元组的最小属性集。

©一个关系可以有多个侯选码/候选键

◆主关键字/主码/主键(Primarykey):

©一个关系可以有多个候选关键字,则可以选择一个为主关键字/主码/主键。

©每个关系有且只有一个主关键字

◆主属性:

所有组成候选关键字的属性

◆非主属性:

不包含在侯选关键字中的属性/除主属性之外的其他属性

◆外部关键字/外码/外键

©一个属性集不是所在关系的关键字,但是其他关系的关键字

©通过外部关键字使两个关系相联

◆参照关系和被参照关系

©主/父关系——被参照关系

©从/子关系——参照关系

2.关系模型的数据操作:

©包括:

查询、插入、删除、修改

©数据操作是基于集合的操作,操作对象和操作结果都是集合(或关系)。

©只需要指出“需要什么”,而不必详细说明“怎样干”。

3.关系模型的数据完整性约束

©数据完整性——数据库中存储的数据是有意义的或正确的。

◆实体完整性——针对主关键字——必须满足

©目的:

保证关系中的每个元组都是可识别和唯一的。

©内容:

若属性A是基本关系R的主属性,则属性A不能取空值。

◆参照完整性——针对外部关键字(引用完整性)——必须满足

©定义了外部关键字与主关键字之间的参照规则。

©内容:

如果属性(或属性组)F是关系R的外部关键字,它与关系S的主关键字K相对应,则对于关系F上的值必须为:

或者取空值

或者K的某个值。

◆用户定义的完整性(域完整性,语义完整性)——不用必须满足,用户定义

4.实体联系模型向关系模型的转换——

◆要解决的问题:

如何确定这些关系模式的属性和关键字。

◆转换目的:

从概念层结构向组织层转换

◆转换规则:

©A—B1:

1A加到BB加到A

©A—B1:

nA加到B(1加到n)

©A—Bm:

n创建一个新的A-B,A,B都加到A-B

1.3关系数据理论

一、“不好的”数据库:

——解决方法:

“模式分解”

©数据冗余问题

©数据更新问题

©数据插入问题

©数据删除问题

二、规范化

◆目的:

设计“好的”数据库

1.函数依赖及相关术语

(1)函数依赖

Y=f(X)给定一个X值,就会有一个Y值和它对应,称

X函数决定Y,或Y函数依赖于X。

表示为:

X→Y

(2)决定因素:

X→YX为决定因素

(3)非平凡/平凡的函数依赖

X→YY包含于X——平凡

Y不包含于X——非平凡

如,R(A,B,C)学生(学号,姓名,年龄)

A→C非平凡(学号,姓名)→姓名

(A,C)→C平凡学号→姓名

(4)完全/部分函数依赖

若X→Y,且X的任意一个真子集X′

Y,Y完全依赖于XX→fY

若X→Y,且X的有真子集X′→Y,Y不完全依赖于XX→pY

如,R(A,B,C)中

存在(A,B)→C,但不存在B→C和A→C完全

存在(A,B)→C,B→C不完全

(5)传递函数依赖

若X→Y,Y→Z,Z传递依赖于XX→tY

如,R(A,B,C)中

存在A→C,且存在A→B,B→C传递

2.解决问题的办法――模式分解

©把一个关系模式分解成两个或多个关系模式

©消除“不良”依赖关系,获得好的关系模式

©消除部分依赖和传递依赖

3.第一范式(1NF)

◆关系R的所有属性都是不可再分的数据项,则R∈1NF

©所有关系模式至少是1NF

4.第二范式(2NF)——本质是消除部分依赖

◆R∈1NF,且R中的每个非主属性都完全依赖(不部分依赖)于主关键字,则R∈2NF

◆主要看主关键字是单属性?

多属性?

©主关键字是单属性时,R一定∈2NF

©主关键字是多个属性时,任意真子集不决定非主属性,R∈2NF

例:

R(A,B,C)至少满足1NF

R(A,B,C),不存在A→C且B→C至少满足2NF

R(A,B,C)至少满足2NF

5.第三范式(3NF)——本质是消除传递依赖

◆R∈2NF,且R中的每个非主属性都不传递依赖于主关键字,则R∈3NF

◆主要看非主属性有几个

©R∈2NF,最多只有一个非主属性,R一定∈3NF

©R∈1NF,没有非主属性,R一定∈3NF

例:

R(A,B,C),存在B→C或C→B至少满足2NF

R(A,B,C),不存在B→C和C→B至少满足3NF

R(A,B)至少满足3NF

R(A,B,C),不存在A→C且B→C至少满足3NF

R(A,B,C)至少满足3NF

1.4数据库系统结构

内部体系结构(从数据库管理角度看)

三级模式外模式

模式

内模式

二级映像外模式/模式映像

模式/内模式映像

外部体系结构(从数据库用户角度看)

客户/服务器结构Client/ServerC/S结构

浏览器/服务器结构Brower/ServerB/S结构

分布式结构

集中式结构

文件服务器结构

一、内部体系结构——三级模式两级映像

应用程序

外模式→视图用户模式用户对数据结构的描述

外模式/模式映像提供逻辑独立性

模式→表

模式/内模式映像提供物理独立性

内模式→物理文件.mdf.ldf存储模式数据的内存结构描述

数据库

二、外部体系结构

1.客户/服务器结构C/S结构

◆客户端的程序包括:

©提供用户界面

©采集数据

©输出结果

©向服务器发出处理请求

◆服务器的程序包括:

©数据管理

©数据处理

©业务处理

©向客户端发送处理结果

◆优点:

©将应用程序合理分配到客户端和服务器端

©充分利用两端软硬件环境优势

©简化了应用程序开发

©降低了网络通信量。

(服务器传给客户机的是处理的结果)

©优化了网络利用率

©较低费用实现较高性能

◆缺点:

©需要在客户端安装部署应用程序

©部署和维护成本较高

©代码复用困难,可重用性差

◆适用:

©用户较少

©数据处理量较大

©交互性较强

©数据查询灵活

©安全性要求较高

©基于局域网

2.浏览器/服务器结构B/S结构

◆优点:

©不用在客户端安装部署软件,只在服务器部署

©只需有上网用的浏览器软件

©维护和升级方便

©代码可重性高

©可跨平台操作,任何一台计算机上只要有浏览器即可

©良好的开发性和可扩充性

◆适用:

©用户多

©数据处理量不大

©地点灵活

©基于广域网

第2章SQLServer2008概述

一、SQLServer2008的组件包括3类:

服务器组件、管理工具和文档。

◆服务器组件:

©数据库引擎服务(DatabaseEngine)

全文搜索(Full-textFilterDaemonLauncher)

©分析服务(AnalysisServices)

©报表服务(ReportingServices)

©整合服务(IntegrationServices)

◆管理工具:

©SQLServerManagementStudio、

©SQLServer配置管理器

©SQLServerProfiler

©数据库引擎优化顾问

©BusinessIntelligenceDevelopmentStudio

©连接组件

◆文档:

©SQLServer联机丛书:

SQLServer的核心文档

二、实例配置

◆SQLServer2008支持多实例

◆默认实例:

实例名与计算机名相同

◆命名实例:

计算机名\实例名

如,计算机名称为:

MYHOME,

如果选择命名实例,并命名实例名为:

SQLServer2008,

请求连接该SQLServer时服务器名称应输入:

MYHOME\SQLServer2008。

◆注意:

1台服务器只能承载1个默认实例。

©计划安装单个SQLServer实例,则该实例应为默认实例。

©计划在同一台计算机上安装多个实例,应使用命名实例。

三、身份验证模式3种:

(SQLServer2008有2种)

仅SQL用户(win98以后不再)

©Windows身份验证模式——仅接受Windows用户,不接受非Windows用户

©混合模式——允许Windows,允许SQLServer

四、安装目录中的几个文件夹:

2008:

MSSQL10.2008、MSAS10.2008()、MSRS10.2008、100

(AnalysisServices)(ReportingServices)

2005:

90

2000:

80

©所有实例使用的公共文件在文件夹systemdrive:

\ProgramFiles\MicrosoftSQLServer\100,都是重要的系统文件,一般不要修改。

©每个实例还有单独一个文件夹MSSQL.n:

\ProgramFiles\MicrosoftSQLServer\MSSQL.n,n是SQLServer实例的序号,如1或2。

五、注意:

◆SQLServer的启动方式2种:

手工启动、自动启动

◆要在客户端访问远程的SQLServer服务器,须在客户端计算机和服务器端计算机上配置相同的网络协议

◆删除SQLServer前,关闭所有SQLServer程序和工具,停止所有SQLServer服务

第3章数据库的创建与管理

3.1数据库概述

1.数据库类型一个实例有5个系统,若干个用户

◆系统数据库(5个)系统自动维护存放维护系统正常运行的信息

©master所有系统级别的信息,系统对象不在master中

©msdbSQLServer代理用来记录作业、警报、备份历史的信息

©model模板。

©tempdb临时性,每次启动都重新创建,断开自动删除

不允许进行备份、还原操作

©resource只读,系统对象

系统对象在SQLServer中以两种形式存在:

●分散在.sys架构下

●统一在resource中

◆用户数据库(若干个)用户维护存放与用户业务有关的信息

创建、维护数据库——指的是用户数据库

©在创建用户数据库时,包含系统表的model数据库自动被复制到新建数据库中。

3.1.2数据库文件

1.组成(2部分)至少1个主要数据文件,1个日志文件

◆数据文件——用于存放数据库数据

©主要数据文件.mdf(1个):

包含数据库启动信息,也可存储数据

©次要数据文件.ndf(0或多个):

存放主要不能存放的,

主要、次要,可存放在相同位置,也可存在不同位置

用户不必担心存放位置,系统会选择最高效的方法

◆日志文件.ldf(1或多个)——记录页的分配和释放、对数据库数据的修改操作。

2.名称(2个)

◆逻辑名称:

DBMS管理——T-SQL语句引用文件时使用的。

(唯一的)

◆物理名称:

操作系统管理——存放在目录路径的物理文件名

3.存储

数据文件存储的基本单位:

日志文件不包含页,由一系列日志记录组成

©多个数据文件最好存储在多个磁盘上

◆页

◆区——管理页统一区:

为单个对象所有

混合区:

最多可由8个对象共享。

©1页=8kb=8*1024字节

©1区=8页

©1M=128页=16区

©行——最大开销8kb(8060字节)

©页按顺序编号,首页是0

©行不能跨页,但行的部分可以移出所在的页

例:

数据库表有10000行,每行3000字节。

求此表所需的空间。

∵每行3000字节,且一页大小为8kb

∴一页可以存放2行

∴10000行需要5000页来存放

∴表所需的空间为:

5000*8kb=40000kb=40MB

3.2创建数据库

◆第一行:

主要数据文件,后面再建的:

都是次要数据文件

◆master数据库,只有系统管理员才能使用

◆数据库只读:

指定值时,数据库不能处于使用状态

◆限制访问:

©多个,允许多个用户同时访问

©一个,一次只允许一个用户访问

©限制,只有db_owner,dbcreator,sysadmin才能使用

◆查看数据库属性:

表建完后:

©可以修改的属性:

逻辑名称、初始大小、自动增长方式

©不可修改的属性:

文件类型、文件组、路径、物理文件名

◆使用数据库之前,须设当前数据库

3.3维护数据库空间

◆扩大数据库空间的方法:

©扩大已有文件的大小

©增加新文件

◆收缩数据库空间

收缩操作内容:

收缩数据库、收缩文件

收缩操作方式:

自动收缩、手动收缩

©收缩数据库时,从末尾开始收缩,直到没有剩余的可用空间

©手动收缩文件,

主要数据文件不能收缩到小于model数据库中主要数据文件的大小

©手动收缩数据库,

收缩后数据库的大小不能小于数据库文件的最小大小

最小大小:

创建时指定的初始大小或

上一次使用“手动收缩数据库中的文件”时设置的大小

3.4删除数据库

©不能删除系统数据库

©删除之前,取消日记传送操作

©文件数据从磁盘中删除。

3.5分离和附加数据库

◆作用:

数据库移植到另一台服务器上/改变文件的物理位置

◆分离:

从实例中删除,不是从磁盘上删除,保留数据文件和日志文件,

可以在需要的时候,附加

◆无法执行分离的情况:

©数据库正在使用,而且无法切换到SINGLE_USER模式。

©数据库处于可疑状态。

©数据库为系统数据库。

第4章SQL语言基础

4.1T-SQL简介

◆SQL——StructuredQueryLanguage结构化查询语言

◆最新的标准:

SQL-99或SQL3

◆T-SQL的分类

©数据定义语言

©数据操纵语言

©数据控制语言

©事务管理语言

©其他附加语言元素

◆T-SQL的特点

©一体化:

上述各种语言于一体

©两种使用方式:

交互、嵌入高级语言中

©非过程化语言:

©简洁

4.2T-SQL数据类型

系统数据类型

©数字数据类型

©货币数据类型

©日期和时间数据类型‘’

©字符串数据类型‘’

用户自定义数据类型

1.数字数据类型

整型bigint大整型8字节

int整型4字节

smallint小整型2字节

tinyint微整型1字节

非整型精确数字decimal/numeric[(p[,s])]

p:

小数点左边和右边的位数和默认18,最大38

s:

小数点右边的小数位数默认0

非精确数字float[(n)]n:

1-53,[1,24]默认24,[25,53]默认53

©不需要用单引号(‘)括起来

2.货币数据类型

money:

8字节精确到货币单位的千分之十(元的万分之一)

smallmoney:

4字节精确到货币单位的千分之十。

©带4位小数的decimal

©不需要用单引号(‘)括起来

©可以带有适当的货币符号。

£100。

3.日期时间数据类型

datetime8字节YYYY-MM-DDhh:

mm:

ss[.nnn]

smalldatetime4字节YYYY-MM-DDhh:

mm:

ss

ss始终为00精度为1分钟

秒没有小数>=29.999深入<=29.998

date3字节YYYY-MM-DD

time[(n)]5字节hh:

mm:

ss[.nnnnnnn]

精度为100纳秒,n是秒的小数部分,0-7,默认7

©使用特定格式的字符日期值表示

例如:

‘04/15/2009’,'2009-04-1512:

35:

29','20090415'

©用单引号(‘)括起来。

CAST('2007-05-0812:

35:

29'ASsmalldatetime)2007-05-0812:

35:

00

CAST('2007-05-0812:

35:

30'ASsmalldatetime)2007-05-0812:

36:

00

CAST('2007-05-0812:

59:

59.998'ASsmalldatetime)2007-05-0813:

00:

00

CAST('2007-05-0812:

35:

29.1234567'AStime(7))12:

35:

29.1234567

CAST('2007-05-0812:

35:

29.1234567'ASdate)2007-05-08

CAST('2007-05-0812:

35:

29.123'ASsmalldatetime)2007-05-0812:

35:

00

CAST('2007-05-0812:

35:

29.123'ASdatetime)2007-05-0812:

35:

29.123

4.字符串数据类型

©用单引号(‘)括起来。

©用两个(’’)表示字符串中的(’)。

如,’I’’mTom’

编码

字符

字节

范围

默认

max

char[(n)]

普通

n英,n/2汉

n

1-8000

1

补空格

varchar[(n︱max)]

普通

实英,实/2汉

1-8000

1

231-1

nchar[(n)]

统一

n

2n

1-4000

1

补空格

nvarchar[(n︱max)]

统一

2实

1-4000

1

231-1

binary[(n)]

二进制

n

1-8000

varbinary[(n︱max)]

二进制

1-8000

231-1

image

二进制

>8000

©前面有n,表示统一编码

©前面有var,表示可变长度

4.2.2用户定义数据类型

创建用户定义数据类型,明确三个参数

©名称

©依据的系统数据类型

©是否允许空值

4.3T-SQL的语法元素

1.使用约定

(1)语法格式约定

约定

用于

大写

关键字。

|(竖线)

只能使用其中一项。

分隔括号或大括号

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2