第一篇:数据库总结
数据库总结:共三天的课程
数据库的概念:数据库是一组有序的数据的集合; 数据库的作用:为了有效的管理数据; 数据类型:
一 字符串相关的类型:一般用于人名、大于2147483647(10位数)的数字、地址等字符信息
使用格式:字段名 char(存放字符的长度)
或者
字段名
varchar(存放字符的长度)Char:代表的是定长的字符串类型,定义了多长,就分配多长的存储空间,只要不超过定义的长度,分配给char的空间长度就不会改变,余下的部分用空格代替;
Varchar:代表的是可变长度的字符串类型,定义的长度可以理解为是虚拟的空间,只要字符串的长度不超过定义的长度,那么varchar的分配空间长度就是字符串实际的长度,余下的部分自动消失; 二 数字相关的类型:一般用于工资、人数统计等方面; 使用格式:字段名
int/float/double 【此处不用定义字段的长度】 int :取值的范围-2147483648~2147483647,后面可以设置主键及自增长;
float/double:用于带有小数的数据定义 decimal:多用于金钱的数据 三 时间相关的数据类型:一般用于时间的统计,例如登录时间、修改时间、退出时间等;
使用格式:字段名
date/time/datetime/timestamp 【此处不用定义字段的长度】,插入表的时候格式与字符串的插入格式一样,都是用单引号插入
date:日期类型
格式:yyyy-MM-dd time:时间类型
格式:hh:mm:ss Datetime:日期时间
格式:yyyy-MM-dd hh:mm:ss Timestamp:时间戳
格式:yyyy-MM-dd hh:mm:ss 数据库的操作:
一 查看所有数据库:select databases;二 查看所有表:select tables;三 创建数据库:create database 数据库名称;
use 数据库名称;
四 创建表:create table 表名(字段1
类型(长度)[约束], 字段2
类型(长度)[约束], 字段n
类型(长度)[约束])注:字段n的结尾处不需要用逗号分隔
五 删除当前表/数据库:drop table 表名/ 数据库名;
六 向表中插入数据:insert into 表名(字段1,字段2,字段n)values(值1,值2,值n),(值1,值2,值n),(值1,值2,值n),(值1,值2,值n)...注:此处的插入数据可以用逗号隔开,想要插入几条数据就插入几个值。
七 查看当前表的值:select * from 表名
注:*是通配符,代表全部的意思,此处*还可以用表中的字段名代替,那么查看就是相应的字段名下的数据。
约束:
一 主键约束:primary key 代表的是唯
一、不重复,非空的约束 使用格式: 字段名
类型(长度)primary key 自增长:auto_increment 必须与主键约束一同使用,字段的类型是整型,插入数据的时候可以不用向设置自增长的字段添加数据,起始的默认数字是:1 二 唯一约束:unique 不可以重复,唯一 使用格式: 字段名
类型(长度)unique 注:空格是不可以作为字符串使用的,空格相当于null,如果向设置unique的字段内插入数据是存在【‘空格’、null、(‘’)】当中两个或两个以上的时候就会报错【’null’是字符串,不是空】 三 非空约束:not null 插入数据时必须要为设置not null的字段插入数据,这个字段不能为空
使用格式: 字段名
类型(长度)not null 注:空格是不可以作为字符串使用的,空格相当于null,如果向设置not null的字段内插入数据是存在【‘空格’、null、(‘’)】当中一个或一个以上的时候就会报错
四 默认约束:default 为字段设置默认值,当不为设置默认约束的字段插入数据是,系统自动将默认值赋予这个字段 使用格式: 字段名
类型(长度)default 值 五 检查约束:check(检查的内容)使用格式: 字段名
类型(长度)check(检查的内容)注:在SQL语句中没有实际的含义,但是需要会用
六 外键约束:foreign key 必须是另一个表的主键(唯一的),设置了外键的字段,受到关联表中相应主键的字段的约束,当要为外键约束插入数据的时候,必须先为被关联的表插入相应主键的数据;
使用格式: 创建表时候就设置外键约束
字段名
类型(长度),Foreign key(字段名)references 表名(对应主键的字段名)表已经创建完,插入外键约束
Alter table 表名 add constraint fk_f foreign key(要设置外键的字段名)references 被关联的表名(被关联的字段名);表的结构:
查看表结构:desc/describe 表名;修改表名:alter table 表名 rename 新表名 添加新字段:alter table 表名 add 字段名 类型(长度)修改字段:alter table 表名 change 旧字段 新字段 新字段类型(长度)删除字段:alter table 表名 drop 字段名
记录的操作:
一 插入记录:insert into 表名(字段名1,字段名n)values(值1,值n)二 修改记录:update 表名 set 字段名=值 where 条件
注:这里如果不加where条件,那么这个表的这个字段名下的数据全部赋值成为“值”
三 删除记录:delete from表名 where 条件
注:此处删除的是表中的符合where条件的整条记录 注意:使用delete和update的时候要千万注意,必须要写where条件语句,要不然就会将当前表中的所有数据改变,在想改回来的话会非常非常费劲!!!
四 查询记录:select 字段名1,字段名n from 表名 where 查询条件 查询去掉重复的值:关键字 distinct 格式:select distinct 字段名1,字段名n from 表名命别名/赋值表: 关键字 as 命别名:select 字段名 as ‘自定义名’
from 表名 赋值表:create table 新表名 as select * from 旧表名 3 查询条件语句的范围:in(等值判断)/not in select 字段名1,字段名n from 表名 where 字段名
in/not in(值1,值n)4 模糊查询:like
匹配标识符:’_’代表一个字符、%代表多个字符
Select 字段名 from 表名 where 字段名 like ‘_sth%’ 注:like后面的判断值如果是数字的话要加单引号,例如想要查询的条件是12345,可以这样写:’%3%’,单引号必须加 5 区间查询:limit m,n
查询从第m个记录开始,一共n条记录,这里的m指的是类似Java数组里的下标,计数从0开始
Limit m
查询从头开始的一共m条记录
Select */字段名 from 表名 limit m,n 6 查询值是否存在某段区间内:between 最大值 and 最小值(int 型的最大值、最小值)Select 字段名1,字段名n from 表名
where 字段名 between 最大值
and 最小值:
注意这里面的条件含有等于最大值和等于最小值
字段名 between 最大值 and 最小值= 字段名>=最小值 and 字段名<=最大值
逻辑运算符在此处可通用:<
<=
>
>=
=
!=
集合函数: 使用方法与Java中的方法的使用类似,注意的是函数名后面紧跟着(),中间不能有空格 一 符合条件的记录的个数:countil
Select count(字段名)from 表名
where 查询条件 二 求某个字段的值的总和:sum Select sum(字段名)from 表名
where 查询条件 三 求某个字段的值的平均值:avg Select avg(字段名)from 表名
where 查询条件 四 求某个字段的值的最大值:max Select max(字段名)from 表名
where 查询条件 五 求某个字段的值的最大值:min Select min(字段名)from 表名
where 查询条件
多表查询:
笛卡尔积:select(字段1,字段n)from 表1,表n 自己想要的查询(找到所有被查询的表的相同的字段): Select(a.字段1,a.字段n,b.字段1,b.字段n)from 表名 as a,表名 as b where a.字段名=b.字段名;
联合查询:
左连接:select 字段名/* from 左表名
left join 右表名
on 左表名.字段名=右表名.字段名
查询结果:左表全部显示,右表与左表相同的字段名的部分显示 右连接:select 字段名/* from 左表名
right join 右表名
on 左表名.字段名=右表名.字段名
查询结果:右表全部显示,左表与右表相同的字段名的部分显示 内连接:select 字段名/* from 左表名
inner join 右表名
on 左表名.字段名=右表名.字段名
查询结果:只有左表与右表相同的部分才显示
全连接:select 字段名/* from 左表名
full join 右表名 查询结果:’*’的结果是笛卡尔积
‘字段名’的结果是这个字段名下的笛卡尔积
函数:函数名与小括号之间不能有空格,字符串必须用单引号圈起来
一 求字符串长度:length Select
length(字符串)二 字符串的截取:substring(字符串,m)/(字符串,m,n)Select
substring(字符串,m)/(字符串,m,n)三 小写转大写:upper Select
upper(字符串)四 大写转小写:lower Select
lower(字符串)五 加密:MD5 Select
MD5(字符串)六 显示现在的时间:now Select
now()
迷糊中: group by
order by 子查询
第二篇:数据库总结
数据库老师画的重点
数据库:数据库是长期存储在计算机内、有组织、可共享的大数据集合。数据库操纵功能:查询select、插入insert、删除delete、修改update 数据库系统的特点:1数据结构化2数据的共享高,冗余度低,易扩充3数据独
立性高4数据由DBMS统一管理和控制
数据模型的组成要素:数据结构、数据操作、完整性约束 概念模型:要出大体,画图 信息世界中的基本概念————
1、实体:客观存在并可以相互区别的事物称为实体
2、属性:实体所具有的某一特性
3、码(key):唯一标识实体的属性集称为码
4、域(domain):域是一组具有相同数据类型的集合
5、实体型(entity type):具有相同属性的实体必然具有共同的特征和性质。用实体名
及属性名集合来抽象和刻画同类实体,称为实体型。
6、实体集(entity set):同一类型的实体的集合
7、联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中
反应为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指
组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系
最常用的数据模型:
1、层次模型(Hierarchical Model)
2、网状模型(Network Model)
3、关系模型(Relational Model)
4、面向对象模型(Object Oriented Model)
5、对象关系模型(Object Relational Model)其中层次模型和网状模型统称为格式化模型
数据库系统的三级模式结构:
1、模式(scheme):模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。他是数据库系统模式结构的中间层,既不设计涉及数据的物理存储细节和硬件环境,也与具体的应用程
序、所使用的应用开发工具及高级程序设计语言无关。
2、外模式(external schema):外模式也称为子模式(subschema)或用户模式,他是数
据库用户(包括应用程序员和最终用户)能看见和使用
的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
3、内模式(internal scheme):内模式也称存储模式(storage schema),一个数据库只有
一个内模式。他是数据库物理结构和存储方式的描述,是
数据在数据库内部的表达方式。数据库的二级映像功能与数据库独立性————
为了能够在系统内部实现这3个抽象层次的联系和转换,数据库管理系统在这三个模式之间提供了两层映像:
·外模式/模式 映像 ·模式/内模式 映像
正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性 关系(relation):D1*D2*D3··*Dn的子集叫做在域D1、D2、D3···Dn上的关系,表示
为R(D1、D2、D3···Dn)
这里的的R表示关系的名字,n是关系的目或度(degree)关系中每个元素是关系中的元组,通常用t表示 当n=1时,称关系为单元关系(unary relation),或一元关系 当n=2时,称该关系为二元关系(binary relation)
关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(attribute)。n目关系必有n个属性。
若关系中的某一属性组的值能够唯一的标识一个元组,则称该属性组为候选码(candidate key)
若一个关系有多个候选码,则选定其中一个为主码(primary key)候选码的诸属性称为主属性(prime attribute)。不包含在任何候选码中的属性称为非主属性(non-prime attribute)或非码属性(non-key attribute)P46 没有搞明白干嘛使得!!!!!!!!!!!
关系的三类完整性约束:实体完整性、参照完整性、用户定义的完整性 实体完整性和参照完整性被称作关系的两个不变性
1、实体完整性(entity integrity):主码中的属性即主属性不能取空值
2、参照完整性(referential integrity):
若属性(或属性组)F是基本关系R的外码,它与基本关系S的的主码K相对应(基
本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
·或者取空值(F的每个属性值均为空值)·或者等于S中某个元组的主码值
SQL(Structured Query Language),即结构化查询语言,是关系数据库的标准语言。SQL 的特点:
1、综合统一
2、高度非过程化
3、面向集合的操作方式
4、以同一种语法结构提供多种使用方式
5、语言简洁、易学易用 SQL的动词:
数据查询:select 数据定义:create、drop、alter(房间)修改表
数据操纵:insert、update(家具)修改数据、delete 数据控制:grant、revoke
绘制ER图————
在ER图中有如下四个成分:
矩形框:表示实体,在框中记入实体名。菱形框:表示联系,在框中记入联系名。
椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下
划一下划线。
连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上
标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对
多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体
连线方向各写N,M。
基本表是本身独立存在的表,在SQL中一个关系就对应一个基本表。一个(或多个)基本表对应一个存储文件,一个表可以带若干索引,索引也可以放在存储文件中。存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。
视图是从一个或几个基本表导出的表。它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据。这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上与基本表等同,用户可以在视图上再定义视图。
基本表的定义、删除与修改:
1、定义基本表:create table ***()
2、定义主键:Primary key == not null(中间不用连接符号)unique
3、定义外码的语句:foreign key(某个字段)references 某表(某字段)
4、定义主码语句:primary key(***,***)
5、修改基本表:alter table 某表名 add 列名<数据类型>[完整性约束]
drop <完整性约束名>(字段名)
alter column<列名><数据类型>
6、删除表:drop table 表名[restrict | cascade级联删除]
7、建立索引:create [unique] [clustered] index 索引名
on 表名(列名[asc | desc],······)·clustered 表示是聚簇索引
·unique表明此索引的每一个索引值只对应唯一的数据记录 ·用户可以在最经常查询的列上建立聚簇索引以提高查询效率 ·在一个基本表上只能建立一个聚簇索引
·建立局促索引后,更新该索引列上的数据时,往往导致表中记
录的物理顺序的额变更,代价较大,因此对于经常更新的列不
宜建立聚簇索引
8、删除索引:drop index <索引名>
上机的时候不太一样:drop index 表名。索引名字
9、数据的查询:
select [all | distinct] <目标列表达式>,······ from 表名或者视图名,··· where 条件表达式
group by 列名1 [having 条件表达式] order by 列名2 [asc | desc] ·如果有group by 子句,则结果按“列名1”的值进行分组,该属性列值相
等的元组为一个组。通常会在每组中作用聚集函数。如果group by 子句带
having短语,则只有满足指定条件的组才予以输出。
·如果有order by 子句,则结果表按“列名2”的值的升序或降序排序 ·select Sname Name,‘Year of Birth:’Birth,2013-Sage Birthday,lower
(Sdept)Department
from Student
lower表示小写
常用的查询条件————
比
较:大于、等于、小于、不等于(< >/!=)、大于/小于等于、不小于、不大于、not+上述比较运算符
确定范围:between and,not between and 确定集合:in,not in 字符匹配:like,not like 空
值:is null,is not null 多重条件(逻辑运算):and,or,not
例子————
·select Sname,Sage
from Student
where Sdept(not)in(‘cs’,‘ma’,‘is’)
字符匹配:[not] like ‘字符串’[escape‘换吗字符’] 百分号表示任意长度、下划线表
示任意单个字符 聚集函数————
count([distinct | all] *)
统计元组个数 count([distinct| all] 列名)
统计一列中值的个数 sum([distinct| all] 列名)
计算一列值的总和(此列必须是数值型)avg([distinct| all] 列名)
计算一列的平局值(此列必须是数值型)max([distinct| all] 列名)
求一列中的最大值 min ·如果指定distinct短语,则表示在计算时要取消指定列中的重复值。如果不指定distinct
短语或者指定all短语(all为缺省值),则表示不取消重复。
·注意在聚集函数遇到空值时,除count(*)外,都跳过空值而只处理非空值。·注意where子句中不能用聚集函数作为条件表达式
group by子句————
where 子句与having 短语的区别在于作用对象不同。Where 子句作用对象作用于基本表或试图,从中选择条件的元组。Having短语作用于组,从中选择满足条件的组。
例子:select Sno from SC
group by Sno having count(*)>3 查询了选修3门以上课程的学生学号 链接查询—————— 例子:
非自然链接
·select Student.*,SC.*
from Student,SC
Where Student.Sno=SC.Sno
自然链接
·select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
from Student,SC
where Student.Sno=SC.Sno
自身链接
·select FIRST.Cno,SECOND.Cpno
from Course FIRST,Course SECOND
where FIRST.Cpno=SECOND.Cpno
外连接
·select Student.Sno,Sname,Sage,Sdept,Cno,Grade
from Student left outer join SC
on Student.Sno=SC.Sno ·左外链接列出左边关系中所有的元组,右外连接列出右边关系中的所有元组
嵌套查询
·select Sname from Student
where Sno in(select Sno from SC where Cno=‘2’)
·找出每个学生超过他选修课程平均成绩的课程号
Select Sno,Cno From SC x Where Grade >=(select avg(Grade)
From SC y Where y.Sno=x.Sno)
授权————
Grant 权限,····· On 对象类型 对象名,····· To 用户,·····
[with grant option]只一句表示权限的传递
例子: ·Grant all privileges
On Student,Course
To U1,U2
·grant update(Sno),select
on Student
to u4
·revoke update(Sno)
on table Student
from u4
一个满足BCNF的关系模式有:
·所有非主属性对每一个码都是完全函数依赖
3NF 编辑
3NF,即第三范式是要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。满足第三范式(3NF)必须先满足第二范式(2NF)
2NF(第二范式)
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。如图3-2 员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个惟一属性列被称为主关键字或主键、主码。
第三篇:数据库总结(简答题)
数据的定义 :描述事物的符号记录
数据库的定义:数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合
DBMS的定义:数据库管理系统(Database Management System,简称DBMS):位于用户与操作系统之间的一层数据管理软件(系统软件)。
DBMS的用途:
(1)科学地组织和存储数据(2)高效地获取和维护数据 DBMS的主要功能:
(1)数据定义功能:提供数据定义语言(DDL)定义数据库中的数据对象
(2)数据操纵功能:提供数据操纵语言(DML),实现对数据库的基本操作(查询、插入、删除和修改)。
(3)数据库的运行管理:在数据库建立、运用和维护时对数据库进行统 一控制,以保证数据的完整性、安全性、并在多用户同时使用数据库时进行并发控制,且在数据库系统发生故障后对系统进行恢复。
(4)数据库的建立和维护功能(实用程序):数据库数据批量装载、数据库转储、恢复、数据库的重组织、性能监视等
(5)数据库系统(Database System,简称DBS):指在计算机系统中引入数据库后的系统 在不引起混淆的情况下常常把数据库系统简称为数据库
数据库系统的构成(1)数据库
(2)数据库管理系统(及其开发工具)
应用系统
数据库管理员(DBA)和用户
数据管理是指对数据的组织、分类、编码、存储、检索和维护。数据管理技术的发展过程 人工管理阶段特点:
(1)数据不保存
(2)系统没有专用的软件对数据进行管理
(3)数据不共享
(4)数据不具有独立性 文件系统阶段特点:
(1)数据以文件形式长期保存(2)数据由文件系统统一管理(3)应用程序直接访问数据文件(4)数据的存取基本上以记录为单位 缺点:(1)数据冗余度大(2)数据独立性低(2)数据一致性差
数据库系统阶段特点:(1)数据共享性高、冗余少(2)数据结构化(3)数据独立性高
(4)由DBMS进行统一的数据控制功能 A)数据的安全性(security)控制 B)数据的完整性(integrity)控制 C)并发(concurrency)控制 D)数据恢复(recovery)
数据模型分成两个不同的层次:
(1)概念模型(概念层数据模型,也称信息模型):它是按用户的观点来 对数据和信息建模。
(2)数据模型(组织层数据模型):它是按计算机系统的观点对数据建模,主要用于DBMS的实现。
抽象过程---两步抽象
(1)现实世界中的客观对象抽象为概念模型;
(2)把概念模型转换为某一DBMS支持的数据模型。
数据模型通常由数据结构、数据操作和数据的约束条件三个要素组成(7)联系(Relationship)
实体内部的联系:组成实体的各属性之间的联系。实体之间的联系:不同实体集之间的联系。(1)一对一(2)一对多(3)多对多 目前最常用的数据模型有
层次模型(Hierarchical Model)网状模型(Network Model)关系模型(Relational Model)面向对象的数据模型(5)关系模型的优缺点 优点:
1)建立在严格的数学概念的基础上
2)数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。
3)关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作 缺点
1)存取路径对用户透明, 导致查询效率往往不如非关系数据模型 2)为提高性能,必须对用户的查询请求进行优化 三级模式结构: 外模式:是数据库中全体数据的逻辑结构和特征的描述
概念模式:是数据库用户使用的局部数据的逻辑结构和特征的描述 内模式:是数据物理结构和存储方式的描述
二级映象
(1)外模式/模式映象:定义外模式与模式之间的对应关系 用途: 保证数据的逻辑独立性
(2)模式/内模式映象:模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
用途:保证数据的物理独立性 关系数据库的规范化理论主要包括三个方面的内容: 函数信赖
范式(Normal Form)模式设计和模式分解
进行数据库的操作时,会出现以下几方面的问题: 1.数据冗余
2.插入异常 3.删除异常 4.更新异常
一个好的关系模式应该具备以下四个条件: 1.尽可能少的数据冗余 2.没有插入异常 3.没有删除异常 4.没有更新异常
1.第一范式
第一范式(First Normal Form)是最基本的规范形式,即关系中每个属性都是不可再分的简单项。
2.第二范式
定义:如果关系模式R∈1NF,并且R中的每个非主属性都完全函数依赖于主码,则R∈2NF。存在问题:(1)数据冗余
(2)插入异常(3)删除异常(4)更新异常
之所以存在这些问题,是由于在S-L表中存在着非主属性对主码的传递依赖。3.第三范式
定义:如果R(U,F)∈2NF,并且所有非主属性都不传递依赖于主码,则 R(U,F)∈3NF。
关系模式S-L由2NF分解为3NF后,既没有非主属性对主码的部分依赖,也没有非主属性对主码的传递依赖,解决了2NF中存在的四个问题。(1)数据冗余降低(2)不存在插入异常(3)不存在删除异常(4)不存在更新异常值
4.BC范式
(BCNF)
定义:若关系模式R∈1NF,对于关系R的每个函数依赖X→Y且YX,X必含有候选码,则R∈BCNF。
即每个决定属性集都包含候选码。
关系规范化的目的:解决关系模式中存在的插入、删除、更新操作异常,数据冗余问题.关系规范化的方法:围绕函数依赖的主线,对一个关系模式进行分解,使关系从较低级范式变换到较高级范式。模式分解的准则:(1)无损连接性(2)保持函数依赖 SQL语言特点
(1)高度非过程化的语言(2)面向集合的语言(3)能以多种方式使用
(4)具有查询、操作、定义和控制四种语言一体化的特点(5)语言简洁、易学易用
SQL按其功能可分为四大部分:数据定义功能、数据控制功能、数据查询功能和数据操纵功能。
(1)数据定义功能用于定义、删除和修改数据库中的对象;(2)数据查询功能用于实现查询数据的功能;
(3)数据操纵功能用于实现对数据库数据的增加、删除和修改;(4)数据控制功能用于实现控制用户对数据库的操作权限 索引:记录的关键字与其相应地址的对应表。
视图(view): 是从一个或者多个表或视图中导出的表。它与基本表不同的是:
(1)基本表(base table):独立存在的表, 基本表中的数据是存在数据库中。(2)视图是一个虚表。即视图所对应的数据不实际存放在数据库中
(3)在数据库中只存放视图的定义,不存放视图包含的数据,这些数据仍存放在原来的基本表中。
(4)基表中的数据发生变化,从视图中查询出的数据也随之改变。视图作用
(1)简化数据查询语句
(2)使用户能从多角度看到同一数据(3)提高了数据的安全性
(4)提供了一定程度的逻辑独立性
一、SQL嵌入到主语言要解决的问题 ①如何识别SQL ②数据传递
③解决SQL一次一集合的操作与主语言一次一记录操作的矛盾.用游标解决。
四、使用游标的步骤
1、说明游标
格式:exec SQL declear <游标名> cursor for
2、打开游标
格式:exec SQL open <游标名>
3、推进游标
格式:
exec SQL fetch <游标名> into <主变量1>,<主变量2>„
4、关闭游标
格式:exec SQL close <游标名>
1.什么是数据库设计
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储、管理数据,满足各种用户的应用需求(信息要求和处理要求)2 ,数据库设计的内容
数据库设计包括数据库的结构设计和数据库的行为设计两方面的内容。
一、需求分析的任务
1.详细调查现实世界要处理的对象(组织、部门、企业等)充分了解原系统工作概况(手工系统或计算机系统),明确用户的各种需求
2.确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库
3.编写需求分析说明书
(1)信息要求
(2)处理要求
(3)安全性与完整性要求 需求分析的方法
自顶向下的结构化分析方法(简称SA方法)该方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并用数据流图和数据字典描述系统。
数据流图(Data Flow Diagram,DFD):是一种最常用的结构化分析工具,它从数据传递和加工角度,以图形的方式描述数据在系统中流动和处理的过程。
数据字典(Data Dictionary,简称DD)的用途
数据字典是系统中各类数据的详细描述的集合
进行详细的数据收集和数据分析所获得的主要结果
数据字典的内容
(1)数据结构(2)数据流(3)数据存储(4)处理过程
概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型(E-R图)逻辑结构设计:将概念结构转换为某个DBMS所支持的数据模型,如关系模型,形成数据库逻辑模式与外模式。
物理结构设计:设计数据的存取方法和存储结构,是形成 数据库的内模式,如数据库文件或目录、索引等
2.概念结构设计的特点
(1)有丰富的语义表达能力。(2)易于交流和理解。
(3)易于更改
(4)易于向各种数据模型转换 3.概念结构设计的策略
(1)自低向上
(2)自顶向下(3)由里向外
(4)混合策略
4.采用E-R模型方法的概念结构设计 1)设计局部E-R模型。2)设计全局E-R模型。3)优化全局E-R模型。
将现实世界中的事物进行数据抽象 三种常用抽象方法:
(1)分类(2)概括(3)聚集 1)设计局部E-R模型
利用抽象机制对需求分析阶段收集的数据进行分析,标定局部应用中的实体、属性、码,实体间的联系,设计局部E-R图(2)设计全局E-R模型
(1)一次集成(2)逐步累积式
关键:合理消除各局部E-R图合并时产生的的冲突(1)属性(2)命名(3)结构(3)优化全局E-R模型
(1)实体个数尽可能少;
(2)实体所包含的属性尽可能少;(3)实体间联系无冗余。1.E-R模型向关系模型的转换(1)一个实体转换为一个关系模式
(2)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。
(3)一个1:n联系可以转换为一个独立的关系模式,也可以与任意n端所对应的关系模式合并。
(4)一个m:n联系转换为一个独立的关系模式,(5)三个或三个以上实体间的一个多元联系转换为一个关系模式。2.数据模型的优化
通常的两种分解方法:水平分解和垂直分解。数据库的物理设计的步骤:(1)确定数据库的物理结构
1)确定存取方法
索引方法,聚簇(Cluster)方法,HASH方法 2)确定数据的存放位置
基本原则:根据应用情况将易变部分与稳定部分分开存放
存取频率较高部分与存取频率较低部分分开存放。(2)对物理结构进行评价,评价的重点是时间和空间效率 数据库实施的工作内容:
(1)用DDL定义数据库结构
(2)组织数据入库
(3)编制与调试应用程序
(4)数据库试运行
DBMS对数据库的安全保护:
(1)即安全性控制(2)完整性控制(3)并发性控制
(4)数据库恢复。
数据库的安全性是指保护数据库,以防止非法使用所造成数据的泄露、更改或破坏。安全性控制的一般方法
(1)对有意的非法活动可采用加密存、取数据的方法控制;
(2)对有意的非法操作可使用用户身份验证、限制操作权来控制;(3)对无意的损坏可采用提高系统的可靠性和数据备份等方法来控制。二.完整性规则的组成
具体地说,完整性规则主要由以下三部分构成:
1. 触发条件:规定系统什么时候使用规则检查数据;
2. 约束条件:规定系统检查用户发出的操作请求违背了什么样的完整性约束条件;
3. 违约响应:规定系统如果发现用户的操作请求违背了完整性约束条件,应该采取一定的动作来保证数据的完整性,即违约时要做的事情。
关系模型的完整性:实体完整性,参照完整性和用户定义完整性。三.完整性约束条件的作用对象
完整性约束条件的作用对象可以是表、元组和列。
1.列级约束:即对数据类型、数据格式、取值范围等进行规定。2.元组约束 3.关系约束 1.事务的定义
事务是用户定义的数据操作系列,这些操作作为一个完整的工作单元事务的特征 原子性(Atomic)一致性(Consistency)隔离性(Isolation)持久性(Durability)(1)丢失修改(2)污读(3)不可重读(4)产生“幽灵”数据 三.并发控制措施
并发控制的主要方式是封锁机制,即加锁(Locking)。排它锁和共享锁
在同时处于等待状态的两个或多个事务中,其中的每一个在它能够进行之前,都等待着某个数据、而这个数据已被它们中的某个事务所封锁,这种状态称为死锁。(1)一次封锁法(2)顺序封锁法
数据库备份指定期或不定期地对数据库数据进行复制,可以将数据复制到本地机器上,也可以复制到其它机器上,备份的介质可以是磁带也可以是磁盘。
事务故障、系统故障和介质故障。四.恢复技术
(1)利用备份技术(2)利用事务日志(3)利用镜像技术
QL Server 2000常用工具简介 1.企业管理器
2.查询分析器(Query Analyaer)3.服务管理器(Service Manager)4.分布式事务处理协调器(DTC)5.性能监视器(Performance Monitor)
6.导入和导出数据(Imput and Export Data)7.事件探查器
SQL Server的数据库由两种文件组成:数据文件和日志文件。SQL Server的用户有两种类型:Windows授权用户,SQL授权用户
一、SQL Server的安全控制
Windows身份验证模式 混合验证模式 2.权限管理 授予权限 收回权限
拒绝访问
SQL Server 2000四种备份方式 完全备份 差异备份 事务日志备份 文件和文件组备份
第四篇:【数据库知识点总结】
数据库概念总结
第一章 绪论
1、数据:描述事物的符号记录称为数据。可以是数字也可以是文字、图形、图像声音、语言等。
2、数据库:是长期储存在计算机内、有组织的、可共享的大量数据的集合。具有永久存储、有组织和可共享三个基本特点。
3、数据库管理系统:位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据,高效地获取和维护数据。
4、数据库管理系统主要功能:数据定义功能、数据组织存储和管理、数据操纵功能、数据库的事务管理和运行管理、数据库的建立和维护功能、其他。
5、数据库系统:是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
特点:数据结构化(与文件系统的本质区别)、数据的共享性高,冗余度低,易扩充、数据独立性高(通过三级模式和二级映像功能来保证)、数据由DBMS统一管理和控制
6、DBMS须提供以下几方面的数据控制功能:数据的安全性保护、数据的完整性检查、并发控制、数据库恢复。
7、数据管理技术的发展过程:人工管理阶段、文件系统阶段、数据库系统阶段
8、数据库的体系结构为三级结构,它们是存储层、概念层和外部层。
9、在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲,数据模型就是现实世界的模拟。
两类数据模型:概念模型、逻辑模型和物理模型。
10、数据模型的组成要素:数据结构、数据操作、数据的完整性约束条件。
11、模式:是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
外模式/模式映像:保证了数据的逻辑独立性 模式/ 内模式映像:保证了数据的物理独立性。
12、什么是数据库的逻辑独立性?物理独立性?为什么数据库系统具有数据与程序的独立性?
逻辑独立性是指用户的用程序与数据库的逻辑结构是相互独立的,使得当数据的逻辑结构变了,用户程序可以不变。物理独立性是指用户的应用程序与存储在磁盘上的数据是相互独立的,使得当数据的物理结构改变了,应用程序也可以不变。数据库系统的三级模式是对数据的三个抽象级别,将数据的具体组织留给DBMS 管理,使用户能逻辑地组织数据,而不必关心数据在计算机上的具体表示方式和存储方式。为了能够在内部实现三个抽象层次的联系和转换,数据库系统在三级模式之间提供了两级映像:外模式/模式映像、模式/ 内模式映,保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
13、数据库系统的组成:硬件平台及数据库,软件,人员
人员:数据库管理员,系统分析员和数据库设计人员,应用程序员,最终用户
数据库管理员:决定数据库中的信息内容和结构,决定数据库的存储结构和存取策略,定义数据的安全性要求和完整性约束条件,监控数据库的使用和运行,数据库的改进和重组重构
第二章 关系数据库
1、关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。
2、选择、投影、并、差、笛卡尔积是5 种基本操作。
3、专门的关系运算包括选择、投影、连接、除运算等。
第三章 SQL
1、SQL 特点:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供多种使用方式、语言简洁,易学易用。
2、聚集函数:COUNT([DISTINCT|ALL]*)COUNT([DISTINCT|ALL]<列名>)SUM([DISTINCT|ALL]<列名>)AVG([DISTINCT|ALL]<列名>)MAX([DISTINCT|ALL]<列名>)MIN([DISTINCT|ALL]<列名>)
3、视图的作用:
1、能够简化用户的操作
2、使用户能以多种角度看待同一数据
3、对重构数据库提供了一定程度的逻辑独立性
4、能够对机密数据提供安全保护
5、适当的利用视图可以更清晰的表达查询
4、WHERE 子句与HAVING 短语的区别在于作用对象不同。前者作用于基本表或视图,从中选择满足条件的元组。后者作用于组,从中选择满足条件的组。
5、=ANY 等价于IN 谓词, 第四章 数据库安全性 1、数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,更改或破坏。 2、计算机系统的三类安全性问题:技术安全、管理安全、政策法律。 3、常用的安全技术有:1.用户识别和鉴别2.存取控制机制3.自主存取控制4.强制存取控制(MAC)5.视图机制。6.审计(Audit)功能7.数据加密 4、视图的好处:简化用户操作、使用户能以多种角度看待同一数据、对重构数据库提供了一定程度的逻辑独立性、对机密数据提供安全保护、适当利用可以更清晰的表达查询。 5、实现数据库系统安全性的技术和方法 — 最重要的是存取控制技术、视图技术和审计技术 第五章 数据库完整性 1、数据库完整性是指数据的正确性和相容性。 2、数据的完整为了防止数据库中存在不符合语义的数据,即防止数据库中存在不正确的数据。安全性是保护数据库防止恶意的破坏和非法的存取。因此数据完整性防范的是合法用户的无意操作导致的数据错误,数据安全性防范的是非法用户的恶意操作导致的数据错误。 3、实体完整性:若属性(指一个或一组属性)A 是基本关系R 的主属性,则A 不能取空值。 4、参照完整性:若属性(或属性组)F 是基本关系R 的外码,它与基本关系S 的主码K 相对应(基本关系R 和S 不一定是不同的关系),则对于R 中每个元组在F 上的值必须为: 或者取空值(F 的每个属性值均为空值); 或者等于S 中某个元组的主码值。 5、触发器是用户定义在关系表上的一类由事件驱动的特殊过程。 6、在参照完整性中,为什么外码的属性值也可以为空?什么时候可以为空? 若F 是基本关系R 的外码,它与基本关系S 的主码K,相对应(基本关系R 和S 不一定是不同的关系)则对于R 中每个元组在F 上的值可以取空值,或者等于S 中某个元组的主码值。即,如果F 本身不是一个主属性,则能取空值,否则不能取空值。 第六章 关系数据理论 1、数据依赖是一个关系内部属性与属性之间的一种约束关系。 2、函数依赖:设R(U)是属性集U上的关系模式。X,Y 是U 的子集。若对于R(U)的任意一个可能的关系r,r 中不可能存在两个元组在X 上的属性值相等,而在Y 上的属性值不等,则称X 函数确定Y 或Y 函数依赖于X,记作X →Y。 3、多值依赖:设R(U)是属性集U 上的一个关系模式。X,Y,Z 是U 的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y 的值,这组值仅仅决定于x 值而与z 值无关。4、1NF:每一个分量必须是不可分的数据项。2NF:R ∈1NF,且每一个非主属性完全依赖于码 3NF:关系模式R中若不存在这样的码X,属性组Y 及非主属性 Z(ZY)使得XY,YZ 成立,YX,则称R3NF。 BCNF:关系模式R ∈1NF。XY 且YX 时X 必含有码,则称RBCNF。4NF :关系模式 R ∈1NF,如果对于R 的每个非多值依赖X Y(YX),X 都含有码,则称R4NF。 5、规范化小结:1NF—2NF 消除非主属性对码的部分函数依赖 ——3NF 消除非主属性对码的传递函数依赖—BCNF消除主属性对码的部分和传递函数依赖—4NF 消除非平凡且非函数依赖的多值依赖。 第七章 数据库设计 1、数据库设计定义:对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统使之能够有效地存储和管理数据,满足各种用户应用需求,包括信息管理要求和数据操作要求。 2、特点:三分技术,七分管理,十二分基础数据。结构(数据)设计和行为(处理)设计相结合。 3、基本步骤:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。 4、需求分析阶段任务:信息要求、处理要求、安全性与完整性要求。 5、需求分析阶段:综合各个用户的应用需求 概念设计阶段:形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图)逻辑设计阶段:将E-R图转换成具体的数据库产品支持的数据模型,形成数据库逻辑模式;再建立必要的视图,形成数据的外模式 物理设计阶段:进行物理存储安排,建立索引,形成数据库内模式 6、数据字典:系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。通常包括数据项、数据流、数据存储和处理 5 部分。数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。 7、概念结构设计方法:自顶向下、自底向上、逐步扩张、混合策略。 8、确定数据库物理结构:确定数据的存放位置和存储结构,包括:确定关系、索引、聚簇、日志、备份等的存储安排和存储结构。确定系统配置。 第八章 数据库编程 1、游标是系统为用户开设的一个数据缓冲区,存放SQL 语句的执行结果,每个游标区都有一个名字。用户可以通过游标逐一获取记录,并赋给主变量,交由主语言进一步处理。 2、嵌入式SQL语句与主语言之间的通信:向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程,主要用SQL通信区(SQLCA)实现。主语言向SQL语句提供参数,主要用主变量实现。将SQL语句查询数据库的结果交主语言处理,主要用主变量和游标实现。 3、存储过程是由PL/SQL 语句书写的过程,这个经编译和优化后存储在数据库服务器中,因此称它为存储过程,使用时只要调用即可。优点:运行效率高、降低了客户机和服务器之间的通信量、有利于集中控制,方便维护。 4、ODBC的工作流程:配置数据源,初始化环境,建立连接,分配语句句柄,执行SQL语句,结果集处理,中止 第九章 关系查询处理和查询优化 1、查询处理步骤:查询分析 对查询语句进行扫描、词法分析和语法分析。 查询检查 根据数据字典对合法的查询语句进行语义检查根据数据字典中的用户权限和完整性约束定义对用户的存取权限进行检查 查询优化 选择一个高效执行的查询处理策略 查询执行 依据优化器得到的执行策略生成查询计划,由代码生成器生成执行这个查询计 划的代码。 2、连接操作的实现 嵌套循环方法 排序-合并方法 索引连接方法 Hash Join方法 3、查询优化的总目标 是选择有效的策略,求得给定关系表达式的值,使得查询代价最小(实际上是较小)。 第十章 数据库恢复技术 1、事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。特性:原子性、一致性、隔离性、持续性。 2、故障种类:事务内部故障、系统故障、介质故障、计算机病毒 3、数据转储是数据库恢复中采用的基本技术即DBA 定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。 4、日志文件是用来记录事务对数据库的更新操作的文件。主要有两种格式:以记录为单位的日志文件和以数据块为单位的日志文件。 5、数据库镜像即根据DBA 的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上。 第十一章 并发控制 1、并发控制机制的任务:对并发操作进行正确调度,保证事务的隔离性,保证数据库的一致性 2、并发操作带来的数据不一致性主要包括丢失修改、不可重复读和读“脏”数据等。 3、封锁就是事务T 在对某个数据对象操作之前,先向系统发出请求,对其加锁。基本的封锁类型在两种:排它锁(X 锁,写锁)和共享锁(S 锁,读锁)。 4、预防死锁的方法:一次封锁法,顺序封锁法 死锁的诊断与解除 超时法 等待图法 5、可串行化调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同,称这种调度策略为可串行化的调度。 6、两段锁协议是指事务必须分两个阶段对数据项加锁和解锁。在对任何数据进行读、写操作之前,首先要申请该数据的封锁;在释放一个封锁之后,事务不再申请和获得任何其他封锁.7、封锁对象的大小称为封锁粒度。 8、选择封锁粒度的原则:需要处理多个关系的大量元组的用户事务:以数据库为封锁单位; 需要处理大量元组的用户事务:以关系为封锁单元; 只处理少量元组的用户事务:以元组为封锁单位 篇一:数据库课程设计个人总结 数据库课程设计个人总结 姓名:邢王秀 学号:200924101215 班级:09计本<2>班 一个月的时间非常快就过去了,这一个月我不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。虽说上过数据库相关的课程,但是没有亲身经历过相关的设计工作细节。这次课程设计给我提供了一个很好的机会。 通过这次课程设计发现这其中需要的很多知识我们没有接触过,上网查找资料的时候发现我们以前所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要自己不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。 这次的数据库课程设计,我们组负责的企业信息文档管理系统的设计。这课题是自拟的。我们组实行的分工合作。我主要是负责数据库功能模块设计这部分。 从各种文档的阅读到需求分析、概要设计、数据库总体设计、代码编写与调试,我们都准备了好长时间。组内分工合作的整个过程,我亲身体验了一回系统的设计开发过程,分工合作的好处。很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统的时候才发现其中的难度。经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。 我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的。因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来。所以以后的课程设计要特别注意这一块的设计。 经过组内讨论,我们确定的课题是企业信息文档管理系统。说实话,我对这个系统不是很了解。通过上网查找资料、相关文献的阅读,我对该系统有了大体的了解。 在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和用户的需要,分析现有情况及问题。在一个月的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题,经过组内讨论。最终把它解决了。通过这次课程设计,我对数据库的设计更加熟练了。 通过本次课程设计,对sql语言,数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表,学会了数据库的基本操作。很多事情不是想象中的那么简单的,它涉及到的各种实体、属性、数据流程、数据处理等等。很多时候感觉后面的设计根本无法继续,感觉像是被前面做的各种图限制了。在做关系模型转换的时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。 通过本次课程设计,我觉得不管做什么,始终都要相信自己。不要畏惧,不要怕遇到困难,什么都要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来它并没有你你想象的那么难。如果没有自信,没有目标,没有信心就很难把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标。从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想! 通过这次毕业设计的完成,使我对自己所学知识进一步的了解,同时通过实践发现自己的不足,对知识的掌握及运用存在诸多的不完善。本系统也存在着很多不足,如系统十分简单,实现功能也不够完善,安全性问题也没有很好的解决。所以在今后的学习中我会继续努力,完善自我,同学的帮助、指导老师的用心辅导和学校的精心安排使这个课题能够顺利进行。但是,由于时间仓促以及本人水平有限,本系统还有很多不完善之处,也难免存在错漏,恳请老师谅解。篇二:数据库课程设计总结报告 漳州师范学院 数据库课程设计 个人日程管理系统 姓 名: 某某 学 号: 系 别: 计算机科学与工程 专 业: 计算机科学技术专业 年 级: 08级 指导教师: 陈志翔、王桃发 2011年 05 月 23 4 篇三:数据库课程设计报告 《数据库类课程设计》 系统开发报告 学 号:111007133 姓 名:邢小迪 题 目: 企业员工薪资管理 指导教师: 王红梅 提交时间: 2013年6月01日 计算机科学与应用系 目 录 一 绪论 二 员工薪资管理系统概述·······························1 ? 现状分析········································1 ? 系统目标········································2 ? 系统特点········································3 三 员工薪资管理系统数据库设计·························3 ? 需求分析 ·······································3 ? 数据库物理结构分析 ····························4 ? 数据库概念结构设计 ····························6 ? 数据库逻辑结构设计····························9 四 员工薪资管理系统数据库功能模块的创建···········12 五 总结·············································21 ? 体会·········································21 ? 参考文献·····································22 一 绪论 随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于 sql server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。基本上能满足管理员和公司的要求。此次数据库课程设计的主要设计如下: 原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。 需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。 二 员工薪资管理系统概述 1、现状分析 随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的管理系统对企业和员工的工作都带来许多的不便。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。 2、系统目标 员工薪资管理系统的主要目的是利用计算机对员工的各种工资信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能: (1)对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。(2)对职工的工资进行计算、修改。可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资及实发金额等。(3)查询统计功能。要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某个部门所有的员工的工资信息。 (4)对用户管理功能。一个系统的应用有管理员和普通用户,他们对系统的权限受到限制。 3、系统特点 (1)本系统使工资管理基本实现了信息化,系统设计的各种查询要求代替了原来了人工查询,即节省了人力,又减轻了员工的工作量,最重要的是由计算机操作,可以提高数据的准确性,避免人为的错误,方便管理。 (2)本系统设置了系统数据备份功能,定期的系统备份可以在数据库受到意外的或有意的破坏的情况下,系统得以恢复,减少损失。(3)本系统的界面设计简洁明了,采用了流行的菜单设计,对于不是计算机专业的管理人员,只需阅读操作说明书,就能方便的使用本系统。 三 员工薪资管理系统数据库设计 1、需求分析 本系统定位于中小型单位,暂时考虑单机环境下的实现;第五篇:数据库课程设计总结