db(数据库): 存储在计算机内,有组织的,统一管理的相关数据的集合。 特点:与各用户共享,较小的冗余度,数据能够紧密结合有不失较高的独立性。
dbms(数据库管理系统):位于用户和操作系统之间的一层数据管理软件,它可以为用户后应用程序提供访问数据库的方法可以分为层次型,网状型,关系型和面向对象型。
dbs(数据库系统):组织的,动态的存储大量关联数据,方面用户访问的计算机硬件,软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。
data:数据库系统研究和处理的对象。数据与信息是分不开的,他既有联系又有区别。
数据的管理阶段经历了人工管理,文件系统,数据库阶段,高级数据库阶段。
dbms总是给予某种数据模型,可以分为层次型(树),网状型(图),关系型(二维表),面向对象性(实体的模型化)。
数据库系统四个数据控制功能:数据并发控制(锁),数据库恢复,数据库的完整性,数据库安全(保护数据之间的关系)。
关系型数据库 mysql oracle db2 分布性cassandra
数据库的**体系结构:外模型,概念模型,内模型。
实体:客观存在,可以相互区别的物体。
实体集合:性质相同的同类实体集合。
属性:实体的每一个特性。
域:属性的取值范围。
字段:标记实体属性的命名单位。它是命名的最小信息单位。
sql:结构化查询语言,用于数据库中的标准数据查询语言。 主要包括三种程序设计语言类别:
数据定义语言(ddl(create,drop,alter)),数据操作语言(dml(insert,update,delete,commit,rollback)),数据控制语言(dcl(grank,revoke)).
自己看一下sql语句,常用的所有语句。select distinct 列名称 from 表名称(查询不重复列)
举例 select * from where ename=’_l%‘其中 ’%可以匹配任意长度的内容, ’可以匹配一个长度的内容。
alter table 《基本表名》
add 《新列名》 《数据类型》 [完整性约束 ]
drop 《列名》 [cascade│restrict]]
modify 《列名》 《数据类型》 ]
《表名》:要修改的基本表
add子句:增加新列和新的完整性约束条件。
drop子句:删除指定的列。
modify子句:修改原有列的宽度和数据类型。
注意: cascade方式表示:在基本表中删除某列时,所有引用到该列的视图和约束也要一起自动地被删除。
restrict方式表示:在没有视图或约束引用该属性时,才能在基本表中删除该列,否则拒绝删除操作。
这个很少用,比较重要。好好看下。
update用的也记下语法。
update 《表名》
set 《列名》=《表达式》
[where 《条件》];
多表查询记得去笛卡尔积,去的次数等于表数-1.
约束:对插入数据的各种限制。约束包括:
not null,unique(唯一性),primary key(主键),foreign key(外键)以及check(限定取值范围)(check (age between 18 and 20))等5种类型。
记得级联删除的语句 on delete casca
外键语句写法 constraint book_pid_fk foregin key(pid) references person(pid) on delete cascade.
为没有外键的表添加外键 alter table book constraint book_pid_fk foreign key(pid)。添加主键相同。
删除约束:alter table book drop constraint person_book_pid_fk ;
alter table person drop constraint unique(tel);
序列,帮助主键自增。auto_increment.
左右自然连接查询(left join,right join,natural join)老师没讲,自己。
索引:提高数据库表数据访问速度的数据库对象。
a)索引可以避免全表扫描。多数查询可以仅扫描少量索引页及数据页,而不是遍历所有数据页。
b)对于非聚集索引,有些查询甚至可以不访问数据页。
c)聚集索引可以避免数据插入操作集中于表的最后一个数据页。
d)一些情况下,索引还可用于避免排序操作。
语法:create index index_ename on emp(ename)。
删除索引:drop index index_empno;
创建索引:创建索引一般有以下两个目的:维护被索引列的唯一性和提供快速访问表中数据的策略。
-在select操作占大部分的表上创建索引;
-在where子句**现最频繁的列上创建索引;
-在选择性高的列上创建索引(补充索引选择性,最高是1,eg:primary key)
-复合索引的主列应该是最有选择性的和where限定条件最常用的列。
-小于1m的表,最好不要使用索引来查询,表越小,越适合用全表扫描。
索引重要多看看。
视图也重要!都要看 ,自己好好看,此处略写。
视图是一种特殊的表(虚拟表),它其实质就是一条查询语句的别名,而这个表的数据,就是这条查询语句所查询的结果。视图在数据库中没有实际的存储数据,数据是查询时生成的。
视图在开发中使用中比较多,往往开发中通过视图来实现一些权限控制,安全性控制,封装复杂查询等等作用。
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。
行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。
10.2视图的作用。
* 简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
* 安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其它数据则既看不见也取不到。
数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上:
* 逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响。
视图:封装各种复杂查询的语句。
语法:create view 视图名称 as (子查询语句)。
触发器什么时候使用(当执行某个事件时,另一个时间也随之执行使用触发器)
关系模式:r(u,d,dom,f)
r 关系名。
u组成该关系的属性名集合。
d属性u中属性所来自的域。
dom属性向域的映像集合。
f属性间的数据依赖关系集合。
关系代数运算符:主要记住专门关系运算符σ(选择符号,选择一行,sql语句中在where之后),π投影,选择一列,sql语句中在select 之后),∞符号本应该是直角,找不到代替。连接符,多表操作。
)可能出题含有三个符号翻译成sql语句。
三类完整性约束:实体完整性(主键约束),参照完整性(外键),用户自定义的完整性(check)。
e-r图:在图中菱形代表关系,矩形实体,椭圆属性。用无向线连接,线上注明关系(1:1,1:n,m:n)。
数据库怎么设计?
数据库设计的过程(六个阶段)
1.需求分析阶段。
准确了解与分析用户需求(包括数据与处理)
是整个设计过程的基础,是最困难、最耗费时间的一步。
2.概念结构设计阶段。
是整个数据库设计的关键。
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体dbms的概念模型。
3.逻辑结构设计阶段。
将概念结构转换为某个dbms所支持的数据模型。
对其进行优化。
4.数据库物理设计阶段。
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
5.数据库实施阶段。
运用dbms提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果。
建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
6.数据库运行和维护阶段。
数据库应用系统经过试运行后即可投入正式运行。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
事务begin transaction 看看ppt
xxxxxxx
xxxxxxx
xxxxxxx
rollback/commit(当选择rollback时,以上操作都不执行,不保存到磁盘中。当选择commit时,以上操作执行到磁盘中)。
commit语句表示事务执行成功地结束(提交),此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都已交付实施(写入磁盘)。
rollback语句表示事务执行不成功地结束(应该“回退”),此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的所有更新必须被撤消,数据库应恢复该事务到初始状态。
事务性质:原子性(atomicity):事务是一个不可分割的工作单元。
一致性(consistency):即数据不会应事务的执行而遭受破坏。
隔离性(isolation):在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样。
持久性(durability):一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中。
事务配合检查点。经过检查点磁盘的内容后写入磁盘。
事务并发问题:丢失更新问题,读脏数据(2种)自己理解。
解决问题的方法加锁。并发控制,加锁。
封锁技术中主要有两种封锁:
排他型封锁 ●共享型封锁。
封锁的粒度。
定义5.6 封锁对象的大小称为封锁的粒度。
granularity)。
数据库考试复习
索引的作用 索引能够快速访问表中的记录,提高查询速度。索引的组成 从表中抽取的关键字和对应的数据行在表中的页号。页和页号 数据表中的数据以8k为单位进行分割存储,每个8k称为页,每个页有一个唯一的编号,称为页号。聚集 簇 索引。特点 索引中的关键字是有序排列的,表中数据行的存储次序和索引中键的排列次...
数据库复习和考试
重点是前面讲过的内容 后面讲的内容,了解。知识点会覆盖大部分内容。题型 名词术语 中英文术语的全称和对译,及进一步解释,如 odl object description language,对象描述 定义语言。选择题。计算题。画e r图,转换为关系模式。写关系代数表达式。写sql查询语句 数据库范式判...
数据库复习
1.1试述数据 数据管理 数据库管理系统 数据库的概念。数据 描述事物的符号记录成为数据,如数值数据 文本数据和多 数据 如图形 图像 音频和 等。数据管理 是对数据进行有效的分类 组织 编码 存储 检索 维护和应用,数据库原理。1.1试述数据 数据管理 数据库管理系统 数据库的概念。数据 描述事物...