数据管理技术三个发展阶段、数据与信息、数据库系统组成第一次上课
1 数据管理技术三个发展阶段
(1)手工时代:
程序在运行时临时输入数据,数据无法长期有序地保存。
(2)文件管理时代:
如使用文件来单独存放程序所需要的数据,但此文件一般与程序密切相关,多数时候是独占文件的。
在上学期C语言时,使用的文本文件来保存程序中的所用的数据.
优点:解决了数据保存
缺点:数据无序,非结构化,没有面向对象概念,数据的操作效率特别低,文件出错机率大, 不便于数据的共享
(3)数据库管理时代:
针对数据的管理,专门开发一套管理软件(数据库管理系统DBMS,属于一种计算机系统软件)。
优点:数据方便归类,对象化,结构化,共享性好。用户不必要再复杂地实现数据操作,而是用户向DBMS发出简单的指令,DBMS给用户返回所需要的数据。
如:Select 学号,姓名,生日-10 from 学生表 where 性别=’男’
从学生表查出所有男生的学号,姓名,生日提前10的天的日期
小结:数据库管理系统管理数据是程序员的一种基本功。
2 数据与信息
(1)数据:
data,泛指一切能被计算机接受和加工处理的编码后的二进制符号,对用户来说数据就是数字,文字,声音,图片,视频. 这些数据都可以存入到数据库中去
数据是客观的实在的物理的;
(2)信息:
是人脑对数据逻辑思维加工后的知识性的产物,是抽象的。 如一个民间传说,在人们之间传递,这是信息概念。为了把这个传说保存下来,制作成电影,连环化,有声小说(数字化成数据)
(3)常见数据种类
英文符号和数字:使用ASCII码,如人理解的字符A,而它的交换码为 01000001(65),此时称01000001为A字符的人机交换码.
数值编码:对有数学大小计算意义的数编码,实现数值计算(编号类的数字是文本串,不是数值型,如学号,电话号,身份证号是文本)
数值型数据编码:
定点整数编码:32. ; 定点小数: 0.0032
浮点数:0.32E+4 (3200)
使用原码或补码实现二进制编码
汉字编码:使用16位二进制(2个字节)给一个汉字编码,功能类似于ASCII。
图片编码:以点阵图为例,计算机使用N位二进制表示一个像素点的颜色参数。
例如:每个像素点使用24位二进制表示颜色,假如每个单色分配为8位二进制,每个单色变化范围为0-255,如 rgb(255,0,255)表示 紫色. 这种像素构成的图片叫24位真彩色图.
视频编码:以帧视频为例,如每秒连续播放24张照片,利用人视觉残留性达到“电影”目的。
声音编码:对人感觉的连续模拟信号经过采样,量化,编码成二进制的
3 数据库系统组成
(1)数据库DB
数据库:database 数据基地-DB ,存放数据的仓库,不是一般概念上的文本文件,是结构化的。一个数据库就是一个用户文档,如SQLSERVER一个数据库其实就是扩展名为mdf的文件.又如一个excel工作薄(xlsx)
数据库一但生成,就是独立的。
(2)数据库管理系统:DBMS
对数据库进行管理和维护的系统工具,如sqlserver, excel,ACCESS
一个DBMS基本功能:
1) 数据库的建立和维护
2) 数据定义功能:定义数据库内的表(主要是针对表的表结构头进行定义---名称,存放数据类型,宽度,约束等)
create table 图书(编号 nchar(10),书名 nchar(20), 作者 nchar(10),单价 numeric(4,1),出版社 nchar(30)) alter table 图书 alter column 单价 numeric(5,1)
3)数据的组织,存储和管理功能
4)数据操纵功能:主指对数据进行增,删,查,改
insert into 图书(编号,书名,作者)values('001','计算机应用','李四')—增 select * from 图书—查 update 图书 set 单价=12.5 where 编号='001'—改 delete from 图书 where 编号=’001’---删
5)事务管理,其它功能
(3)数据库系统:DBS
一套完整的计算机硬件,软件,数据库,数据库管理系统,管理员等的一个综合体.
4 数据库管理模式
以自己平时使用学生管理系统的APP为例:
可见:一个数据库是独立的,不同用户,不同APP可以共享它
(1)数据库管理数据主要特点:
1)数据是相互关联的
在一个表内,如学生表,不同行的学生之间线性的,一个挨一个.
不同表之间,如学生表和成绩表,之间有联系,如靠两个表的学号列值来联系.
2)数据冗余少:
有如下数据(优化前):
学号 姓名 专业 班主任
01 张三 计算机应用 李四
02 张五 应用数据 王三
03 张六 计算机应用 李四
04 张七 应用数据 王三
表中冗余数据多,同一个专业名和班主任名字重复次数太多,浪费存储空间
减少冗余,优化为:
学生表
学号 姓名 专业代码 班主任代码
01 张三 1 1
02 张五 2 1
03 张六 1 1
04 张七 2 1
专业表:
专业代码 专业名称
1 计算机应用
2 应用数学
班主任表
班主任代码 姓名
1 王二
2 李四
(3)程序与数据是独立,分开的。
为保证数据安全,可以对数据库密码,设置用户级别的权限,设备用户访问密码,对敏感数据加密存放
(4)很方便地保证数据的完整性和一致性
以学生表为例,绝对不允许只有姓名,而学号列值是空的。
如在成绩中增加一个学生的成绩行,如果该生的学号并不已经存在于学生表中,此时不能操作的。
又如,从人事表中删除一个人,它对应考勤表,工资表该人的数据应该自动删除。