在关系型数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性,都有相应的描述信息,例如数据类型、数据宽度等。
数据类型决定了数据在计算机中的存储格式,代表不同的信息类型 常用的数据类型有整数数据类型、浮点数数据类型、精确小数类型、二进制数据类型、日期/时间数据类型、字符串数据类型。表中的每一个字段就是某种指定数据类型,例如 employee表中的”工号“字段为整数数据,"年龄"字段为字符型数据。
主键( PRIMARY KEY )又称主码,用于唯一地标识表中的每一条记录。用户可以定义表中的一列或多列为主键,注意主键列上不能有两行相同的值,也不能为空值。假如定义employee表,该表给每一个学生分配一个"工号",该编号作为数据表的主键,如果出现相同的值,将提示错误,系统不能确定查询的究竟是哪一条记录;如果把员工的“姓名”作为主键,则不能出现重复的名字,这与现实不相符,因此“姓名”字段不适合作为主键。
数据库系统有以下3个主要组成部分。
数据库( Database System) 提供了一个存储空间用于存储各种数据,可以将数据库视为一个存储数据的容器 一个数据库中可能包含许多文件,一个数据库系统中通常包含许多数据库。
数据库管理系统(Database Management System, DBMS )是用户创建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS 能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。
数据库应用程序( Database Application )虽然已经有了DBMS ,但是在很多情况下 DBMS 无法满足对数据管理的要求。数据库应用程序的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与 DBMS 进行通信,访问和管理 DBMS 申存储的数据,允许用户插入、修改、删除数据库中的数据。
数据库系统如图所示:
SQL 语言包含以下4个部分。
(1)数据定义语言(DDL): DROP、CREATE、ALTER等语句
(2)数据操作语言(DML): INSERT、UPDATE、DELETE语句
(3)数据查询语言(DQL):SELECT语句
(4)数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句
建立数据库系统离不开数据模型 模型是对现实世界的抽象 在数据库技术中用模型的概念描述数据库的结构与语义,对现实世界进行抽象,能表示实体类型及实体间联系的模型称为“数据模型"。
关系模型是由若干个关系模式组成的集合,关系模式的实例称为关系,每个关系实际上是一张二维表格。关系模型用键导航数据,其表格简单,用户只需用简单的查询语句就可以对数据库进行操作,并不涉及存储结构、访问技术等细节。SQL语言是关系数据库的代表性语言,已经得到了广泛的应用。典型的关系数据库产品有 DB2, Oracle Sybase、SQL Server等。关系数据库是以关系模型为基础的数库,是根据表、无组、字段之间的关系进行组织和访问数据的一种数据库,它通过若干个表来存取数据,并且通过关系将这些表联系在一起 关系数据库是目前应用最广泛的数据库。
关系模型有3个组成部分,即数据结构、数据操作和完整性规则。
关系模型建立在严格的数学概念的基础之上,它用二维表来描述实体实体间的联系。
例如在一个有关学生信息的名为 tudent 的表中,每个列包含所有作者的某个特定类型的信息,比如姓名,而每行包含了某个特定作者的所有信息,比如学号、姓名、性别、专业,如图所示。
关系模型的基本术语如下。
关系模式是对关系的描述,可表示为关系名(属性 ,属性,…, 属性 )。例如上面的关系可以描述为学生(学号,姓名,性别,专业)。
一个关系模型是若干个关系模式的集合。在关系模型中,实体以及实体间的联系都用关系来表示。例如学生、课程 、学生与课程之间的多对多联系在关系模型中可以如下表示:
学生(学号,姓名,性别,专业)
课程(课程号,课程名,学分)
选修(学号 课程号 成绩)
由于关系模型概念简单、清晰、易懂、易用,并有严密的数学基础以及在此基础上发展起来的关系数据理论,简化了程序开发及数据库建立的工作量,因而迅速获得了广泛的应用,并在数据库系统中占据了
统治地位。
关系模型提供了 一组完备的高级关系运算,以支持对数据库的各种操作。关系数据库的数据操作语言
(DML)的语旬分为查询语旬和更新语旬两大类 查询语句用于描述用户的各类检索要求 :更新语旬用于
描述用户的插入、修改和删除等操作。关系数据操作语言建立在关系代数的基础之上,具有以下特点。
关系型数据模型是以关系数学理论为基础的,用二维表结构来表示实体以及实体之间联系的模型称为关系模型。
在关系模型中把数据看成是二维表中的元素,操作的对象和结果都是二维表 一张二维表就是一个关系 。
关系模型与层次模型、网状模型的本质区别在于数据描述的一致性,模型概念单一。
在关系型数据库中每一个关系都是一个二维表,无论是实体本身还是实体间的联系均用称为“关系”的二维表来表示,它由表名、行和列组成。
表的每一行代表一个元组,每一列称为一个属性,这使得描述实体的数据本身能够自然地反映它们之间的联系。
传统的层次和网状模型数据库是使用链接指针来存储和体现联系的。尽管关系型数据库管理系统比层次型和网状型数据库管理系统的出现晚了很多年,但关系型数据库以其完备的理论基础、简单的模型、说明性的查询语言和使用方便等优点得到了最广泛的应用。
常见的关系型数据库管理系统产品有 Oracle、SQL Server、 Sybase DB2, Access 等。
参考书籍:《 MYSQL从入门到顶目实践(超值版》