《第1章--数据库概述.pptx》由会员分享,可在线阅读,更多相关《第1章--数据库概述.pptx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1数据库概述第章1.1 数据库 3 1.1 数据库1.1.1 数据库的概念和作用数据库(Database)是指长期存储在计算机内,有组织的、可共享的数据集合。它可视为一个电子化的文件柜,用来存储电子文件,用户可以对文件中的数据进行查询、新增、更新、删除等操作。表1-1 学生信息表学生姓名学生性别学生年龄所属班级小美女22大二3班小明男23大四2班小伟男20大一3班 4 1.1 数据库1.1.2 数据库的特点实现了数据独立性1实现了数据共享2减少了数据冗余度3实现了数据的集中控制4维护了数据完整性5提高了数据的可恢复性6数据独立性包括物理独立性和逻辑独立性。数据冗余是指数据在存储器中不必要的重复
2、存储。数据完整性是指数据的一致性、正确性、有效性和相容性。5 1.1 数据库1.1.3 数据模型数据模型的概念1数据模型的类型2数据模型(Data Model)是对现实世界数据的模拟和抽象,是数据库系统中用于提供信息表示和操作手段的形式构架。其主要作用是确定系统中数据的定义和格式,使人更容易理解,便于在数据库系统上实现。u概念数据模型(Conceptual Data Model):主要用来描述现实世界数据的概念化结构。u逻辑数据模型(Logixal Data Model):是用户在数据库中所看到的数据模型,反映的是系统设计人员对数据存储的观点,是对概念数据模型的进一步分解和细化,主要包括层次数
3、据模型、网状数据模型和关系数据模型三种类型。u物理数据模型(Physical Data Model):这是描述数据在存储介质上的组织结构的数据模型。6 1.1 数据库1.1.3 数据模型数据模型的三要素3 数据结构。数据结构是数据模型的基础,用于描述数据库对象的静态特征,包括数据的类型、内容、性质及数据之间的联系等。数据操作。用于描述数据库对象的动态特征,包括在相应数据结构上的操作类型和操作方式,主要指查询、插入、删除和修改等操作。数据完整性约束。数据完整性约束是一组完整性规则的集合,主要描述数据结构内数据间的语法、词义联系、数据之间的制约和依存关系,并且规定了数据库状态及状态变化所应满足的条
4、件,以保证数据的正确性、有效性和相容性。7 1.1 数据库1.1.4 数据库类型层次模型数据库1目前成熟地应用在数据库系统中的数据模型有:层次模型、网状模型和关系模型。它们之间的根本区别在于数据之间联系的表示方式不同,层次模型以“树结构”表示数据之间的联系,网状模型以“网结构”表示数据之间的联系,关系模型以“二维表”表示数据之间的联系。层次模型是数据库系统最早使用的一种模型,它的数据结构就像是一棵“有向树”。根结点在最上端,层次最高,子结点在下,逐层排列,如图1-1所示。图1-1 层次模型图 8 1.1 数据库1.1.4 数据库类型网状模型数据库2 网状模型以网状结构表示实体与实体之间的多种复
5、杂联系,能够更为直接地描述现实客观世界。网中的每一个结点代表一个记录类型,结点之间的联系用链接指针来实现,如图1-2所示。图1-2 网状模型图 9 1.1 数据库1.1.4 数据库类型关系模型数据库3关系模型数据库的层次结构可以分为以下四级:数据库(Database)表(Table)记录(Record)字段(Field)10 1.1 数据库1.1.4 数据库类型关系模型数据库3图1-3所示为一个简单的关系模型。图1-3 关系模型图 11 1.1 数据库1.1.4 数据库类型关系模型数据库3将图转换成两张表,两张表之间通过教师编号进行关联,如表1-2和表1-3所示。教师编号姓 名性 别所 属 系
6、101刘老师男数学系102王老师女文学系103赵老师男物理系课程编号课 程 名教师编号上课教室201高等代数101sx-01202文学史102wx-03203电磁学103wl-02表1-2 教师表表1-3 课程表1.2 数据库系统 13 1.2 数据库系统1.2.1 数据库系统的构成数据库系统通常由硬件、软件、数据库以及用户构成,如图1-4所示。图1-4 数据库系统的构成 14 1.2 数据库系统1.2.2 数据库管理系统数据库管理系统(Database Management System,简称DBMS)是一种操作和管理数据库的大型软件,使用它可以创建、使用和维护数据库。DBMS建立在操作系统
7、之上,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。u对数据定义;u对数据进行增加、删除、更新、查询等操作;u对数据进行组织、存储与管理;u维护数据库,保证数据库的正常运行;u保护数据库中数据的安全,数据遭到破坏后能够恢复;u负责处理数据的传送。15 1.2 数据库系统1.2.3 常见的关系型数据库管理系统常见的关系型数据库管理系统有MySQL数据库管理系统、Oracle数据库管理系统、DB2数据库管理系统、SQL Server数据库管理系统等。Oracle1DB22SQL Server3Oracle即Oracle RDBMS,是甲骨文公司的一款关系型数据库管理系统。SQL Se
8、rver是Microsoft公司推出的关系型数据库管理系统,是真正的客户机/服务器体系结构DB2是IBM公司出品的关系型数据库管理系统,具有较好的可伸缩性,可支持从大型机到单用户环境,并且支持所有常见的服务器操作系统平台。1.3MySQL数据库管理系统 17 1.3 MySQL数据库管理系统MySQL是目前非常流行的关系型数据库管理系统,关系型数据库管理系统就是管理关系型数据库,并将数据组织为相关的行和列的系统。MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL在过去由于性能高、成本低、可靠性好,被广泛地应用在互联网上的中小型网站中。不过,随着MySQL的不断发展和
9、完善,它也逐渐用于大型网站和应用,例如Baidu,Sina,Tencent,Alibaba,Google,Facebook,Twitter等大型互联网公司都用到了MySQL。18 1.3 MySQL数据库管理系统1996年,MySQL 1.0诞生。1996年10月份,MySQL 3.11.1发布。1999年,Monty作为创始人之一,成立了MySQL AB公司,并与Sleepycat公司合作,发布了MySQL 3.23版本。2003年3月,MySQL 4.0正式发布。2005年10月,代表MySQL里程碑的版本MySQL 5.0正式问世。2008年1月16日,Sun公司收购MySQL。2009
10、年4月20日,Oracle收购Sun公司。2010年4月,MySQL 5.5版本正式对外发布。2013年2月,MySQL 5.6 GA版本发布。2015年10月,MySQL 5.7 GA版本发布。1.3.1 MySQL的产生与发展 19 1.3 MySQL数据库管理系统MySQL由于其性能优秀,已经成为最流行的关系型数据库管理系统之一。1.3.2 MySQL的优势u运行速度快,具有高效的查询速度;u对于大多数个人免费;u支持Linux、Mac OS、Windows等多种操作系统;u为C,C+,Python,Java,Perl,PHP,Ruby和.NET等多种编程语言提供了API;u支持多线程,
11、充分利用了CPU资源;u既能作为一个单独的应用程序应用在客户端/服务器网络环境中,也能作为一个库嵌入到其他软件中;u支持多种存储引擎;u可复制全局事务标识,支持自我修复式集群。20 1.3 MySQL数据库管理系统1.3.3 如何学习MySQL巩固基础1多动手操作2多查看资料3对于学习MySQL来说,SQL语言是最为基础的部分,大部分操作都是通过SQL语句来执行的,因此熟练使用SQL语句对深入学习MySQL有很大的帮助。同一个功能,往往可以使用不同的SQL语句来实现,只有多动手操作,才能检验自己的想法是否正确,哪种实现方法最合理。不断学习31.4 结构化查询语言SQL 22 1.4 结构化查询
12、语言SQL1.4.1 SQL简介结构化查询语言(Structured Query Language,简称SQL)是目前被广泛使用的关系型数据库标准语言,用于插入、更新、删除和查询数据,以及管理关系型数据库系统。SQL语句主要可分为以下4类:数据定义语句(DDL)1数据操作语句(DML)2数据控制语句(DCL)3数据定义语句是负责定义数据结构与数据库对象的指令集,常用语句关键字包括CREATE、ALTER与DROP。数据操作语句是负责访问数据库对象中数据的指令集,用户通过它可以实现对数据库的基本操作,常用关键字包括INSERT,UPDATE,DELETE和SELECT。事务处理语句3数据控制语句
13、是对数据访问权进行控制的指令集,它可以管理用户对数据表、预存程序、用户自定义函数等数据库对象的使用权限。常用关键字包括GRANT和REVOKE。23 1.4 结构化查询语言SQL1.4.2 SQL的简单应用下面将通过使用SQL语句创建表,并在表中添加和查询数据,来初步认识SQL语句的应用。【例1-1】使用SQL语句创建一张表,并在其中插入一条记录。首先设计一张名为students的表格,表中有一条学生信息,如表1-4所示。表1-4 students表编 号姓 名年 龄性 别1小明22男 24 1.4 结构化查询语言SQL1.4.2 SQL的简单应用CREATE TABLE students(i
14、d INT(11)UNSIGNED,name VARCHAR(32),age INT(4)UNSIGNED,sex VARCHAR(16);根据表1-4可以编写一条SQL语句,该语句使用CREATE关键字声明创建一张名为students的表:提示MySQL中的SQL语句是不区分大小写的,就是说CREATE和create作用相同,但是很多开发人员习惯将关键字大写,将数据列和表名小写。读者也应该养成一个良好的编程习惯,这样写出来的代码更容易阅读和维护。25 1.4 结构化查询语言SQL1.4.2 SQL的简单应用INSERT INTO students(id,name,age,sex)VALUES(1,小明,22,男);现在这张表里没有任何数据,下面使用INSERT关键字在表中添加一条数据:SELECT*FROM students;添加完成后,可以使用SELECT关键字查询这张表中的信息:+-+-+-+-+|id|name|age|sex|+-+-+-+-+|1|小明|22|男|+-+-+-+-+查询出来的结果如下:感谢观看