在同一个数据集合中,不同的选择条件对应了不同的输出结果,数据库就是这样一种按数据结构来组织、存储和管理数据的仓库。程序或用户可以通过它来进行数据的访问与修改,它是数据存储的灵魂。
数据管理经历了人工管理、文件系统到数据库系统3个阶段。数据库是具有逻辑关系和确定意义的数据结合,它能克服传统文件组织所产生的一系列问题,数据冗余小,由于关系型数据库管理系统对于信息查询具有很大的灵活性,并且设计简单,所以已经被广泛使用在了实际的系统开发中。
关系数据库系统与文件数据库系统区别
关系数据库(relational database)是一个被组织成一组正式描述的表格的数据项的集合,这些表格中的数据能以不同的方式被存取或重新召集而不需要重新组织数据库表格,它对应于一个关系模型中的所有关系的集合。例如,教师、学生、课程这些关系以及关系间的联系就组成了一个教务系统。文件数据库系统是对文件的操作,包括存储、查询等。
关系数据库系统与文件数据库系统的区别如下:
(1)关系数据库系统的主要特征是数据的结构化,而文件数据库系统是数据的非结构化
(2)关系数据库中,用户看到的逻辑结构是二维表,而文件数据库系统中,基本元素是文件。
(3)文件数据库系统可以实现多媒体文件管理,支持C/S工作模式
SQL语言的功能有哪些
SQL是结构化查询语言( Structured Query Language)的缩写,其功能包括数据查询、数据操作、数据定义和数据控制4个部分。
数据查询是数据库中最常见的操作,select语句得到所需的信息。SQL语言的数据操作结构(Data Manipulation Language,DML)主要包括插入数据、修改数据及删除数据3种语句。SQL语言使用数据定义语言(Data Definition Language,DDL)实现数据定义功能,可对数据库用户、基本表、视图、索引进行定义与撤销。数据控制语句(Data Control Language,DCL)用于对数据库进行统一的控制管理,保证数据在多用户共享的情况下能够安全。
基本的SQL语句有 select、insert、update、delete、create、drop、grant、revoke等
例如,设教务管理系统中有3个基本表:
学生信息表 S(SNO,SNAME,AGE,SEX),其属性分别表示学号、姓名、年龄和性别
选课信息表 SC(SNO, CNO, SCGRADE),其属性分别表示学号、课程号和成绩
课程信息表 C(CNO,CNAME,CTEACHER),其属性分别表示课程号、课程名称和任课老师姓名。
(1) 把SC表中每门课程的平均成绩插入到另外一个已经存在的表 SC_C( CNO,CNAME,AVG_GRADE)中牟其中 AVG_GRADE表示的是每门课程的平均成绩。
insert into SC_C( CNO, CNAME,AVG_GRADE)
select SC.CNO, C.NAME, AVG(SCGRADE) FROM SC, C where SC.CNO = C.CNO
(2)从SC表中把何昊老师的女学生选课记录删除
delete from SC,S,C where SC.SNO=S.SNO AND