数据库读书笔记Word下载.docx
- 文档编号:18403123
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:12
- 大小:24.92KB
数据库读书笔记Word下载.docx
《数据库读书笔记Word下载.docx》由会员分享,可在线阅读,更多相关《数据库读书笔记Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
(updateinstructor
setsalary=case
whensalary=100000thensalary*1.05
elsesalary*1.03
end)
8.case语句的一般格式:
case
whenp1thenr1whenp2thenr2…..whenpnthenrnelser0
end
9.删除关系:
droptable
droptabletable1;
删除table1的元组和模式
10.为已有关系增减属性:
altertable
加:
altertableraddad;
其中r是现有关系的名字,a是待添加属性的名字,d是待添加属性的域。
关系中的所有元组在新属性上的取值将被设为null。
减:
altertablerdropad;
11.强行删除重复:
distinct
selectdistinctdept_name
frominstructor
12.基本查询语句:
selecta1,a2,……an
fromtable1,table2,……tablen
wherep;
a为属性,table为关系,p为table间的谓词。
①通过from子句定义了一个在该子句中所列出关系上的笛卡尔积
②where子句中的谓词用来限制笛卡尔积所建立的组合。
允许使用逻辑连词and,or,not,逻辑连词的运算对象是包含比较运算符,=,=,,=,的表达式。
可以用比较运算符来比较字符串、算术表达式、特殊类型,如日期类型
③输出select指定的属性
13.自然连接:
naturaljoin
selectname,course_id
frominstructornaturaljointeaches;
只考虑那些在两个关系模式中都出现的属性上取值相同的元组对,这样的属性只出现一次。
列出顺序为:
先是两个关系模式中的共同属性,然后是那些只出现在第一个关系模式中的属性,最后是那些只出现在第二个关系模式中的属性。
14.指定属性的自然连接:
table1jointable2using(a1,a2)在有的情况,两个关系之间有两个以上的相同属性名称,但是意义不同,如course.id和student.id。
selectname,title
from(instructornaturejointeaches)joincourseusing(course_id)
15.selecta1,a2相同的属性列会出现两次fromtable1jointable2onp1
16.更名运算:
as
as子句既可以出现在select子句中,又可以出现在from子句中。
主要用于:
?
把一个长的关系名替换成短的?
使用于需要比较同一个关系中的元组情况,自己跟自己进行笛卡尔积运算。
selectdistinctt.name
frominstructorast,instructorass
wheret.salarys.salaryands.dept_name=’biology’;
17.字符串运算:
?
用单引号来标示字符串,例如‘computer’。
如果单引号是字符串的组成部分,那就用两个单引号字符来表示,如“it’’sright”
sql标准中字符串大小写敏感。
但是mysql和sqlsever中不一定,可以设置。
用like操作符实现模式匹配,大小写敏感。
使用两个特殊字符来描述模式:
百分号(%):
匹配任意子串
下划线(_):
匹配任意一个字符
为使模式中能够包含特殊字符(%,_),使用escape关键字来定义转移字符
like‘ab\%cd%’escape‘’匹配所有的以“ab%cd”开头的字符串
18.select子句中表示“所有的属性”:
星号“*”select*
19.排列元组的显示顺序:
orderby
默认使用升序。
可以显示使用desc表示降序,asc表示升
【篇二:
数据库读书笔记李辉】
sql是英文structuredquerylanguage的缩写,意思为结构化查询语言。
sql被作为关系型数据库管理系统的标准语言。
一个典型的关系型数据库通常由一个或多个被称作表格的对象组成。
数据库中的所有数据或信息都被保存在这些数据库表格中。
数据库中的每一个表格都具有自己唯一的表格名称,都是由行和列组成,其中每一列包括了该列名称,数据类型,以及列的其它属性等信息,而行则具体包含某一列的记录或数据。
sql语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
sql语句可以分为以下几组:
dml(datamanipulationlanguage,数据操作语言):
用于检索或者修改数据;
ddl(datadefinitionlanguage,数据定义语言):
用于定义数据的结构,比如创建、修改或者删除数据库对象;
dcl(datacontrollanguage,数据控制语言):
用于定义数据库用户的权限。
dml组可以细分为以下的几个语句:
select:
用于检索数据;
insert:
用于增加数据到数据库;
update:
用于从数据库中修改现存的数据
delete:
用于从数据库中删除数据。
ddl语句可以用于创建用户和重建数据库对象。
下面是ddl命令:
createtable
altertable
droptable
createindex
dropindex
dcl命令用于创建关系用户访问以及授权的对象。
下面是几个dcl命令:
alterpassword
grant
revoke
createsynonym
下面主要介绍几个常用的数据库操作语句的格式:
数据查询:
select语句主要被用来对数
据库进行查询并返回符合用户查询标准的结果数据。
select语句的语法格式如下:
selectcolumn1[,column2,etc]fromtablename
[wherecondition];
([]表示可选项)
select语句中位于select关键词之后的列名用来决定那些列将作为查询结果返回。
用户可以按照自己的需要选择任意列,还可以使用通配符“*”来设定返回表格中的所有列。
select语句中位于from关键词之后的表格名称用来决定将要进行查询操作的目标表格。
select语句中的where可选从句用来规定哪些数据值或哪些行将被作为查询结果返回或显示。
向表格中添加、更新、删除记录
添加新记录
sql语言使用insert语句向数据库表格中插入或添加新的数据行。
insert语句的使用格式如下:
insertintotablename
(first_column,...last_column)
values(first_value,...last_value);
简单来说,当向数据库表格中添加新记录时,在关键词insertinto后面输入所要添加的表格名称,然后在括号中列出将要添加新值的列的名称。
最后,在关键词values的后面按照前面输入的列的顺序对应的输入所有要添加的记录值。
更新记录
sql语言使用update语句更新或修改满足规定条件的现有记录。
update语句的格式为:
updatetablename
setcolumnname=newvalue[,nextcolumn=newvalue2...]
wherecolumnnameoperatorvalue[and|orcolumnoperatorvalue];
删除记录
sql语言使用delete语句删除数据库表格中的行或记录。
delete语句的格式为:
deletefromtablename
网络数据库
数据和资源共享这两种方式结合在一起即成为今天广泛使用的网络数据库(web数据库),它以后台(远程)数据库为基础,加上一定的前台(本地计算机)程序,通过浏览器完成数据存储、查询等操作的系统。
网络数据库(networkdatabase)其含义有三个:
①在网络上运行的数据库。
②网络上包含其他用户地址的数据库。
③信息管理中,数据记录可以以多种方式相互关联的一种数据库。
网络数据库和分层数据库相似,因为其包含从一个记录到另一个记录的前进。
与后者的区别在于其更不严格的结构:
任何一个记录可指向多个记录,而多个记录也可以指向一个记录。
实际上,网络数据库允许两个节点间的多个路径,而分层数据库只能有一个从父记录(高级记录)到子记录(低级目录)的路径。
因此,网络数据库是跨越电脑在网络上创建、运行的数据库。
网络数据库中的数据之间的关系不是一一对应的,可能存在着一对多的关系,这种关系也不是只有一种路径的涵盖关系,而可能会有多种路径或从属的关系。
数据库是按一定的结构和规则组织起来的相关数据的集合。
是综合各用户数据形成的数据集合,是存放数据的仓库。
网络就是用通讯设备和线路,将处在不同地方和空间位置、操作相对独立的多个计算机连接起来,再配置一定的系统和应用软件,在原本独立的计算机之间实现软硬件资源共享和信息传递,那么这个系统就成为计算机网络了。
数据库技术目前是计算机处理与存储数据的最有效、最成功的技术。
计算机网络的特点则是资源共享
数据+资源共享这两种技术结合在一起即成为在今天广泛应用的网络数据库(也叫web数据库)。
网络数据库定义:
以后台数据库为基础的,加上一定的前台程序,通过浏览器完成数据存储、查询等操作的系统。
这个概念看上去很抽象,我们可以把它说得通俗一点:
简单的说,一个网络数据库就是用户利用浏览器作为输入接口,输入所需要的数据,浏览器将这些数据传送给网站,而网站再对这些数据进行处理,例如,将数据存入数据库,或者对数据库进行查询操作等,最后网站将操作结果传回给浏览器,通过浏览器将结果告知用户。
【篇三:
数据库学习笔记】
数据库系统概论
什么是数据库:
数据库管理系统(dbms—databasemanagementsystem)是一个由互相关联的数据的集合和一组用于访问这些数据的程序组成.
第一章:
1.1:
dbms的目的
文件处理系统中存储信息的弊端:
1.数据冗余和数据部一致
2.数据访问困难
3.数据孤立
4.完整性问题
5.原子性问题
6.并发访问异常
7.安全性问题
1.2:
数据视图
数据抽象:
物理层逻辑层视图层(概念层)
数据库模式:
物理模式(内模式)逻辑模式(模式)子模式(外模式)
数据独立性:
在某个层次上修改模式定义不影响位于其上层模式的能力.
物理数据独立性:
修改数据库的物理模式而不必重写应用程序的能力.
逻辑数据独立性:
修改数据库的逻辑模式而不必重写应用程序的能力.
1.3:
数据模型
数据模型:
就是描述数据(数据结构),数据之间的联系,数据语义(数据操作),一致性(完整性)约束的概念工具的集合.
物理数据模型逻辑数据模型概念数据模型
实体联系模型(e-r模型)
e-r图:
矩形(实体集)椭圆(属性)菱形(实体间的联系集)线段面向对象模型
基于记录的数据模型:
关系模型网状模型层次模型
1.4数据库语言
数据定义语言(ddl):
定义数据库模式实现细节
数据字典:
包含元数据的文件,元数据时关于数据的数据.
数据操作语言:
(dmldatamanipulationlanguage)
过程化的dml:
要求用户指定需要什么数据以及如何获取这些数据;
非过程化的dml:
只要求用户指定需要什么数据;
1.5--1.9
事务:
是数据库应用中完成单一逻辑功能的操作集合,是一个既具有原子性又具有一致性的逻辑执行单元.
存储管理器:
是为存储在数据库库中的底层数据与应用程序及向系统提交的查询之间提供接口的程序模块.
数据库管理员(dbadatabaseadministration)
数据库管理系统:
查询处理器部件存储管理器部件
数据结构:
数据文件:
存储数据库中的数据;
存储关于数据库结构的元数据;
由于频繁使用数据字典,因此字典良好的设计和高效实现是非常重要的.
索引:
提供对数据项的快速访问;
统计数据:
存储关于数据库的统计信息,这些信息被查询处理器用来选择高效的查询方法.
第二章:
实体–联系模型
实体:
是现实世界中可区别于其他对象的事件或物体。
实体集:
是具有相同类型及相同性质(或属性)的实体集合。
实体集的属性:
是将实体集中的实体映射到域的函数。
属性类型:
简单属性复合属性单值属性多值属性null属性派生属性。
一个联系集所涉及的不同实体集的数目称为联系集的元.
映射基数:
指明实体集中的一个实体通过一个联系集能同另一实体集相联系的实体数目.
存在依赖:
如果实体x的存在依赖于实体y的存在,那么就说x存在依赖于y。
在操作上,如果y被删除,那么x也要被删除,就把实体y称作支配实体,而把实体x称作从属实体。
区分不同实体的属性的集合就称为码。
超码是一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一地标识一个实体。
它们的任意真子集都不能成为超码。
这样的最小超码称为侯选码。
主码:
来代表被数据库设计者选中的,用来在同一实体集中区分不同实体的侯选码。
码的指定实际上也代表了被建模的现实世界中的约束。
实体集属性中那些作为主码的属性用下划线标明。
实体在联系中的作用称为角色.
有些实体集的所有属性都不足以形成主码,这样的实体集称为弱实体集。
其属性可以形成主码的实体集称为强实体集。
强实体集和弱实体集的概念与存在依赖密切相关,强实体集的成员必然是支配实体,而弱实体集的成员是从属实体。
实体集所存在依赖的强实体集的主码和该弱实体集的分辨符(部分码)共同构成的属性集合就是它的主码。
扩展e-r特性包括特殊化与概括、高层实体集与低层实体集、属性继承以及聚集等等。
在实体集内部进行分组的过程称为特殊化。
isa也是一种特殊的联系,我们把这种联系称为父类-子类联系。
概括是高层实体集与一个或多个低层实体集间的包含关系。
概括是特殊化的逆过程.
联系集来表示实体集之间的联系.
数据库设计过程:
概念设计(e-r模式设计),逻辑设计和物理设计.
e-r模式设计的主要任务:
1、定义所有的实体集、联系集、属性和映射约束等等。
最终用e-r图来描述被建模的对象;
��2、利用扩展e-r特性,精简所设计的模式,去除冗余,并确保满足所有的数据需求而且不互相冲突;
��3、针对需求规格说明书(包括数据需求、功能需求和性能需求),检查概念模式,看该模式是不是包含了所有的数据;
能不能满足对数据的各种操作(如查询和增删改等),即满足功能需求;
而性能需求在这个阶段还不能完全解决。
●1、实体-联系(e-r)模型基于对现实世界的这样一种认识:
世界由一组基本对象(称作实体)及这些对象间的联系组成。
此模型的主要目的是用于数据库的概念结构设计,简单地说就是帮助设计数据库的e-r模式;
��●2、每个实体都有描述该实体的一组属性。
联系是多个实体间的相互关联。
相同类型的所有实体的集合构成实体集,相同类型的所有联系的集合构成联系集;
��●3、映射基数是指一个实体集中的实体通过联系集可以和另一实体集中的多少个实体相联系。
还有一种约束是存在依赖,表示实体x的存在依赖于实体y的存在;
��●4、从数据库的角度讲,不同实体或联系之间的差异必须用属性来表示。
为了进行这样的区别,每个实体集或联系集都有一个主码。
主码是一个或多个属性的集合,它们可以在实体集中唯一确定一个实体或在联系集中唯一确定一个联系;
如果一个实体集的所有属性都不足以形成主码,就称该实体集为弱实体集,相反其属性组合可以构成主码的实体集为强实体集;
��●5、特殊化和概括定义了一个高层实体集和多个低层实体集之间的联系。
特殊化是利用高层实体集的子集来形成多个低层实体集;
概括是用两个或多个低层实体集的共性形成一个高层实体集。
高层实体集的属性和联系被低层实体集继承。
��●6、e-r模型的一个局限就是它不能表示联系集间的联系或联系集与实体集之间的联系,解决的办法就是利用聚集。
聚集是一种高度抽象,它将联系集及其相关的实体集作为一个整体看作是一个实体集;
��●7、e-r模型用于数据库的概念设计阶段,产生数据库设计的e-r模式。
为了从数据库的e-r设计产生数据库的关系设计,可以用表的集合来表示e-r模式中的e-r图,也就是将e-r模式转换为表。
第三章:
关系模型
3.1:
关系数据库结构
表:
关系数据库是表的集合,每个表有唯一的名字,表中的一行代表的是一系列的联系.
数据库模式是数据库的逻辑设计,而数据库实例是给定时刻数据库中数据的一个快照。
针对关系模型来说,数据库模式和数据库实例就是关系模式和关系实例。
一般关系模式的名字以大写字母开头,而关系的名字由小写字母组成。
在关系模式中使用相同的属性正是将不同关系的元组联系起来的一种方法。
查询语言分为过程化的和非过程化的。
在过程化查询语言中,用户要指导系统去获取所需数据;
在非过程化查询语言中,用户只需要描述所需信息,而不用给出获取信息的具体过程。
关系代数是过程化的,而元组关系演算和域关系演算是非过程化的。
3.2:
关系代数
关系代数是过程化的查询语言:
包括选择,投影,并,集合差,笛卡尔积,和命名;
还有附加运算:
即集合交,自然连接,除和赋值,附加运算用基本运算定义的.选择,投影和命名运算是一元运算.
在关系代数运算中我们规定,凡是涉及到与空值null的比较,其结果都是false。
选择运算:
给出满足给的谓词的元组
投影运算:
它返回作为参数的那个关系的部分属性构成的新关系。
并运算:
并运算只能在相容的关系间进行。
两个关系相容除了属性的数目一样之外,最重要的就是对应属性的类型相容
集合差运算:
用来找出在一个关系中而不在另一个关系中的那些元组。
笛卡尔积运算:
第四章:
sql
sql:
结构化查询语言(structuredquerylanguage)有查询数据库,定义数据结构,修改数据和说明安全性约束条件等特性.
ddl:
datadefinitionlanguage数据定义语言
dml:
datamanipulationlanguage数据操作语言
sql语言包括:
1.sqlddl:
定义关系模式,删除关系,建立索引以及修改关系模式;
2.sqldml:
查询,插入,删除和修改;
3.嵌入式dml:
嵌入在pascal,c等宿主语言;
4.视图定义:
创建视图;
5.权限管理:
对关系和视图的访问进行授权;
6.完整性:
定义数据必须满足完整性约束条件;
7.事务控制:
定义事务的开始,提交和结束等.
sql表达式的基本结构由select子句,from子句和where子句构成,其中where子句可以省略.
sql表达式的结果中允许重复元组.
select子句:
1.是否去除结果中的重复元组[all|distinct]选项,默认为all允许重复元组;
2.用*代替所有属性
3.select子句可以出现算术表达式
where子句中的逻辑运算符用的是and,or,not;
更名运算:
old-name[as]new-name;
as可以用空格代替;
可以出现在select和from子句中.
like操作:
⑴用百分号%(有时是星号*)匹配任意子串
⑵用下划线_(有时是问号?
)匹配任意一个字符;
⑶模式中是要区分字母的大小写的;
⑷在模式中为了使用特殊字符%和_等,允许用反斜线字符将特殊字符转义成普通字符。
orderby子句:
对查询结果进行排序;
[asc|desc];
默认是升序
集合操作:
{union|intersect|except}[all]没有all,将自动去除重复的元组.
groupby子句:
根据一个或多个属性的值来对元组进行分组,聚集函数可以作用在不同的分组上.
having子句:
主要是针对分组进行条件限制。
having子句中的谓词只有在形成分组后才起作用,因此可以在having子句中使用聚集函数。
通常,having子句只用在有groupby子句的sql语句中,用来去掉不符合指定条件(即having子句中的谓词)的分组。
聚集函数:
平均值avg最小值min最大值max总和sum计数count空值:
在where子句中,使用isnull和isnotnull来判断属性的值是否为空.嵌套子查询:
集合成员资格的确认,集合的比较,集合基数测试
集合成员资格的确认:
用连接词in和notin判断一个元素是否在某个集合中.集合的比较:
⑴�至少
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 读书笔记