数据库的基本概念
一、1、什么是数据库系统?它有什么特点?
数据、数据库、数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台、软件平台和与数据库有关的人员构成了一个完整的数据库系统。
特点:数据结构化 、数据的共享性高,冗余度低,易扩充、数据的独立性高、数据由数据库管理系统统一管理和控制
2、什么是数据库管理系统?它主要的功能是什么?
数据库管理系统(DBMS)是对数据库管理的一种软件。
它主要的功能有:
(1)、数据定义功能可定义数据库中的数据对象;
(2)、数据操纵功能可对数据库进行基本操作,如插入、删除、修改、查询。
(3)、数据的完整性检查功能保证用户输入的数据应满足相应的约束条件。
(4)、数据库的安全保护功能保证只有赋予权限的用户才能访问数据库中的数据。
(5)、数据库的并发控制功能使多个应用程序可在同一时刻并发地访问数据库中的数据。
(6)、数据库系统的故障恢复功能使数据库云翔出现故障时进行数据库恢复,以保证数据库可靠运行。
(7)、在网络环境下访问数据库的功能。
(8)、方便、有效地读取数据库信息的接口和工具。
二、数据模型
1、层次模型
2、网状模型
3、关系模型(主要用)--关系型数据库管理系统(RDBMS)
三、(一)解释概念
实体:把每一类数据对象的个体称为“实体”;
属性:每个实体涉及的信息项称为“属性”;
码:实体集中的实体彼此是可区别的,如果实体集中的属性或最小属性组合的值能唯一标志其对应实体,则将该属性或属性组合称为码;
E-R模型:通常将实体集及实体集联系的图表示为实体-联系模型。
1、 一对一关系:A中的一个实体最多与B中的一个实体相联系,B中的一个实体也最多与A中的一个实体相联系。
2、多对一关系:A中的一个实体可以与B中的多个实体相联系,而B中的一个实体至多与A中的一个实体相联系。
3、多对多关系:A中的一个实体可以与B中的多个实体相联系,而B中的一个实体也可与A中的多个实体相联系。
(二)逻辑结构设计
1、(1:1)联系的E-R图到关系模式的转换:既可单独对应一个关系模式,也可以不单独对应一个关系模式。
BJ(班级编号,院系,专业名,人数)
BZ(学号,姓名,班级编号)
2、(1:n)联系的E-R图到关系模式的转换
BJ(班级编号,院系,专业名,人数)
XS(学号,姓名,专业名,人数,性别,出生日期,总分数,备注,班级编号)
3、(m:n)联系的E-R图到关系模式的转换
XS(学号,姓名,专业名,人数,性别,出生日期,总分数,备注,班级编号)
KC(课程号,课程名称,类别,开课学期,学时,学分)
XS_KC(学号,课程号,成绩)
(二)数据库应用系统
1. 数据库的连接方式
(1). ODBC数据库接口
ODBC即开放式数据库互连(Open DataBase Connectivity),是微软公司推出的一种实现应用程序和关系数据库之间通信的接口标准。符合标准的数据库就可以通过SQL语言编写的命令对数据库进行操作,但只针对关系数据库。目前所有的关系数据库都符合该标准,如Oracle、SQL Server、MySQL、DB2、Sybase、Access等。ODBC本质上是一组数据库访问API(应用程序编程接口),由一组函数调用组成,核心是SQL语句。
在具体操作时,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。
MySQL是通过MySQL Connector/ODBC(MyODBC驱动程序系列)(2). ADO数据库接口
ADO(ActiveX Data Object)是微软公司开发的基于COM的数据库应用程序接口,通过ADO连接数据库,可以灵活地操作数据库中的数据。
使用ADO访问关系数据库有两种途径:一种是通过ODBC驱动程序,另一种是通过数据库专用的OLE DB Provider,后者有更高的访问效率。
(3). ADO.NET数据库接口
ADO.NET数据模型从ADO发展而来,但它不只是对 ADO的改进,而是采用了一种全新的技术。主要表现在以下几个方面:
a、 ADO.NET不是采用ActiveX技术,而是与.NET框架紧密结合的产物。
b、 ADO.NET包含对XML标准的完全支持,这对于跨平台交换数据具有重要的意义。
c、 ADO.NET既能在与数据源连接的环境下工作,又能在断开与数据源连接的条件下工作。特别是后者,非常适合于网络应用的需要。因为在网络环境下,保持与数据源连接,不符合网站的要求,不仅效率低,付出的代价高,而且常常会引发由于多个用户同时访问时带来的冲突。因此ADO.NET系统集中主要精力用于解决在断开与数据源连接的条件下数据处理的问题。
(4). JDBC数据库接口
在JDBC API中有两层接口:应用程序层和驱动程序层,前者使开发人员可以通过SQL调用数据库和取得结果,后者处理与具体数据库驱动程序的所有通信。
使用JDBC接口对数据库操作有如下优点:
(1)JDBC API与ODBC十分相似,有利于用户理解;
(2)使编程人员从复杂的驱动器调用命令和函数中解脱出来,而致力于应用程序功能的实现;
(3)JDBC支持不同的关系数据库,增强了程序的可移植性。
使用JDBC的主要缺点:访问数据记录的速度会受到一定影响,此外,由于JDBC结构中包含了不同厂家的产品,这给数据源的更改带来了较大麻烦。
MySQL通过MySQL Connector/J驱动实现JDBC接口,它提供了与使用Java编程语言开发的客户端应用程序的连通性。MySQL Connector/J是一种纯Java程序,实施了3.0版JDBC规范,并能使用MySQL协议与MySQL服务器直接通信。
(5). 数据库连接池技术
对于网络环境下的数据库应用,由于用户众多,使用传统的JDBC方式进行数据库连接,系统资源开销过大成为制约大型企业级应用效率的瓶颈,采用数据库连接池技术对数据库连接进行管理,可以大大提高系统的效率和稳定性。
2. 客户/服务器(c/s)模式应用系统
前台:由于应用程序直接与用户打交道,而数据库管理系统不直接与用户打交道,所以称为前台;
后台:数据库管理系统称为后台;
客户程序:由于应用程序是向数据库管理系统提出服务请求,通常称为客户程序;
服务器程序:数据库管理系统是为其他应用程序提供服务
注意:应用程序和数据库管理系统可以在同一台计算机(单机方式),也可以运行在网络方式。
3. 三层客户/服务器(B/S)模式应用系统
基于Web的数据库应用采用三层客户/服务器模式,也叫B/S结构。第一层为浏览器,第二层为web服务器,第三层为数据库服务器。
(三)MySQL概述
1、为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
2、支持多线程,充分利用CPU资源。
3、优化的SQL查询算法,可有效地提高查询速度。
4、 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用做数据表名和数据列名。
5、 提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
6、提供可用于管理、检查、优化数据库操作的管理工具。
7、以处理拥有上千万条记录的大型数据库。
2008年1月16日美国著名软件开发商sun公司宣布收购MySQL AB公司。通过这两个公司的强强结合。相信MySQL的功能会越来越完善,从而在数据库领域将发挥更大的影响力。