MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
数据库计算诞生于20世纪60年代末。经过几十年的发展,数据库相关的理论研究,应用技术都有非常大的发展。数据库技术是信息系统的一项核心技术,已经成为现代计算机系统的重要组成部分
数据、数据库、数据库管理系统、数据库系统是与数据库技术最为密切相关的基本概念。
数据
通常这样定义数据:描述事物的符号记录称为数据(Data)。数据有多种表现形式,可以是数字、字母,也可以是图像、声音。例如:某用户数据为(张三,男,25,北京),张三是男性,年龄25,北京人,这些称为数据的解释。数据和数据的解释是密切相关的,无法解释的数据是无意义的。
数据库
所谓数据库(DataBase,DB),是长期储存在计算机内的、有组织、可共享的数据集合。过去,数据往往以文件的形式存放文件柜中,随着信息技术的发展,人们借助计算机和数据库技术来管理大量复杂的数据。数据库中的数据按一定组织、描述和存储,具有较小的冗余,较高的数据独立性,系统易扩展且可以被多个用户共享。
数据库管理系统
数据库管理系统(DBMS),是位于操作系统与用户之间的数据管理软件,是数据库系统的核心。能高效科学的管理数据库和数据。其主要功能有:数据定义、数据操纵、数据库建立和维护、数据库运行管理等。
(1)数据定义
DBMS提供数据定义语言(DDL),用户通过DDL可以对数据库中的数据对象进行定义。
(2)数据操纵
DBMS提供数据操纵语言(DML),使用DML,能够操纵数据,实现对数据库的基本操作,如:增、删、改、查等。
(3)数据库的建立和维护功能
数据库的建立和维护功能主要包括数据的输入、转换,数据库的存储、恢复,数据库的重组织和性能监视、分析等。
(4)数据库的运行管理
数据库的建立、运用和维护有DBMS统一管理,以保证数据安全性和完整性,多用户对数据的并发使用及故障后的恢复。
(5)提供方便、有效存储数据库信息的接口和工具
编程人员可通过程序开发工具与数据库接口编写数据库应用程序,数据库管理员(DBA)可通过相应软件对数据库进行管理。
数据库系统
数据库系统(DBS),是指引入数据库技术的计算机系统。一个完整的数据库系统不仅包含数据库,还包含支持的硬件,数据库管理系统及相关软件、数据库管理员和用户。
数据库系统的结构可以有多种不同的层次或不同视角。若从数据库用户视角来看,通常采用三级模式结构,这是数据库管理系统内部的系统架构;从数据库管理系统来看,数据库系统的结构分为集中式结构、分布式结构、客户/服务器结构、并行结构,这是数据库系统的外部体系结构;若从数据库系统应用角度来看,目前数据库系统常见的结构有客户/服务器和浏览器/服务器结构。
客户/服务器,即Client/Server(C/S)结构。客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作。服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。服务器还要提供完善安全保护及对数据完整性的处理等操作,并允许多个客户机同时访问服务器,这就对服务器的硬件处理数据能力提出了很高的要求。
浏览器和服务器架构,即Browser/Server(B/S)结构。是随着Internet技术的兴起,对C/S架构的一种变化或者改进的架构。在这种架构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。B/S架构是WEB兴起后的一种网络架构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
数据库中的数据是有一定结构的,这种结构用数据模型表示。根据不同的应用目的,数据模型可分为概念模型、逻辑模型和物理模型。
概念模型(Conceptual Model),用来描述实体之间的联系,最典型的概念模型是实体联系(Entity-Relationship,E-R)模型,简称E-R图。例如:学生是一个实体,姓名是他的属性。事务内部的特性及事务之间是有关系的,例如可以通过学生找到每门科目对应的成绩,这就是他们之间的联系。
实体:用矩形表示,框内写明实体名称。
属性:用椭圆表示。框内写明属性名称。
联系:用菱形表示,阔内写明什么关系。
假设A、B两个实体之间联系有一对一,一对多,多对多三种类型。
(1)一对一联系(1 :1)
实体A最多只有一个与实体B相对应关系。例如,一个班级只能有一个班主任。
(2)一对多联系(1 :N)
实体A对应多个实体B的关系,但实体B只能对应一个实体A。例如:一个班级中可以有多个学生,学生只能在一个班级。
(3)多对多(M :N)
实体A对应多个实体B的关系,实体B也对应多个实体A。例如:学生和课程的关系,一个学生可以上多门课程,每门课程可以也可以多个学生上。
逻辑模型(Logical Model)是具体的DBMS所支持的数据模型。主要的逻辑数据模型有层次模型、网状模型、关系模型、面向对象模型等。
(1)层次模型
数据结构为一颗“有向树”,树的每个结点对应一个记录集。特点:根节点没有父节点,每个子节点只有一个父节点。类似于组织结构。
(2)网状模型
表示实体与实体之间的联系。是层次模型的扩展,允许节点有多个父节点。
(3)关系模型
通过二维表结构来表示实体与实体之间的联系,以二维表格形式组织数据库的数据。
(4)面向对象模型
面向对象模型既是概念模型又是逻辑模型,对象之间表达能力丰富,可复用,灵活。
描述数据在存储介质上的组织结构,物理数据模型不但由DBMS设计决定,而且与操作系统,硬件密切相关。
关系数据库是目前应用最广泛的数据库,它以关系模型作为逻辑数据模型,采用关系作为数据的组织方式,其操作建立在关系代数的基础上,具有坚实的数学基础。较高的数据独立性,使得存储结构发生变化时,也不会影响应用程序,大大减少维护的工作量。
关系的数据结构就是二维表。实体之间的联系都是用关系表示。
学号 | 姓名 | 性别 | 民族 | 班级 |
---|---|---|---|---|
0001 | 张三 | 男 | 汉 | C001 |
0002 | 李四 | 男 | 汉 | C002 |
0003 | 小屋 | 女 | 汉 | C003 |
(1)表:表由表名、列及若干条数据组成,每行数据描述一个学生基本信息。下列表格可以统称为学生信息表。
(2)列:表中的列也称为字段或属性,属性唯一。比如:学生信息表中姓名、性别 就是学生的属性。
(3)行:表中的数据就是按行存储的。表中的行也称为元组或记录,每行有多个字段组成。第一行数据表示的是学号0001姓名张三的学生基本信息。
(4)关键字:确定一个元组的属性或属性组,关键字也称为主键或者码。学生信息表中的学号就是主键且唯一。
(5)外部关键字:也称为外键,与其他表中的某个属性相关联。学生信息表中的班级就是外键。
(6)域:属性的取值范围。学生信息表中的性别字段取值范围是“男”或“女”。
(7)数据类型:每个列都有相应的数据类型,限制该列的数据存储。
含义 | 字段名 | 数据类型 | 数据长度 |
---|---|---|---|
学号 | studentNo | varchar | 20 |
姓名 | name | varchar | 4 |
性别 | sex | char | 2 |
民族 | nation | varchar | 8 |
班级 | classNo | varchar | 18 |
数据库设计是建立数据库及其应用系统的一项重要工作,也是信息系统开发和建设中的核心技术。良好的设计可以使数据库的性能达到最佳。
常用的数据库设计方法分为六个阶段:需求分析、概念结构设计、逻辑结构设计、物理逻辑结构设计、数据库实施、数据库运行与维护。
(1)需求分析
了解用户的应用需求,确定用户要实现哪些功能,涉及哪些数据,等。需求分析是整个设计的基础。
(2)概念设计
对用户的需求进行分析,形成概念模型。最常用的概念模型描述方式是E-R图。
(3)逻辑结构设计
把概念结构转换为DBMS支持的数据模型。把E-R图转换为关系数据模型。
(4)物理逻辑结构设计
将数据的存储选择合适的环境。主要设计存储结构和存取方法。
(5)数据库实施
设计人员运用DBMS提供的语言,创建数据库,编写并调试程序,运行。
(6)数据库运行和维护
正式投入生产后,在数据库运行期间,需不断对其进行维护、调整、修改、数据恢复等。主要有数据库管理员完成。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
MySQL是一个数据库管理系统
数据库是结构化数据的集合,主要用于数据存储,数据库管理系统在计算中扮演着非常核心的角色。
MySQL数据库是关系型的
一个关系型数据库将数据存储在不同的表中,而不是将所有的数据存储在一个大的存储区域中。为了提高存储速度,结构化数据是有组织的存放在物理文件中。数据库、表格、视图、行和列等对象的逻辑模型提供了灵活的编程环境。你可以在指向不同表格的不同数据字段中设置对应关系的规则,如一对一、一对多、唯一、必须和可选。数据库强制执行这些规则,因此,在一个设计良好的数据库中,应用程序永远不会看到不一致的、重复的或者孤立的、过期或者丢失的数据。
MySQL软件是开源的
开源就意味着每个人都可以使用和修改软件。每个人都可以免费在网络上下载和使用MySQL。你可以根据个人需求学习和更改源码,MySQL软件使用的是GPL协议。
MySQL数据库服务器速度快、可靠性高,扩展性强,且易于使用
MySQL服务器可以在桌面或者笔记本电脑上与其他应用程序、web服务器等等一起轻松运行,不需要特别关注。如果要将整个机器用于MySQL,可以调整MySQL设置,以充分利用所有的内存、CPU能力和可用的输入输出能力。MySQL还可以扩展到一组机器,并将它们联网。
MySQL服务器在客户端、服务器或者嵌入式系统中工作
MySQL数据库软件是一个客户端/服务器系统,由一个多线程的SQL服务组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口。MySQL服务器也可以作为嵌入式多线程库,可以将其连接到应用程序,以获得更小、更快,更易于管理的独立产品。
提供大量的MySQL软件支持
MySQL支持大量的语言,大部分应用程序语言均支持MySQL软件。
MySQL的下载地址:https://dev.mysql.com/downloads/mysql/。
选择对应版本–>下载完后–>双击–>一直点击Next(下一步)–>中途输入对应的用户名和密码–>安装完成。
MySQL安装完成后,可以通过手动的方式对其进行启动和关闭。具体操作如下:
安装好MySQL后–>启动服务–>windows系统(win+R)输入“service.msc”打开服务–>找到Mysql的服务–>右击启动或者停止,如图
或者还可以通过命令行的方式对其进行关闭,具体操作如下:
安装好MySQL后–>启动服务–>windows系统(win+R)输入cmd,打开命令提示符(linux跳过此步骤)–>输入以下命令即可对MySQL服务器进行启动或者关闭。
#停止MySQL服务器
> net stop mysql
#启动MySQL服务器
> net start mysql
MySQL的客户端管理工具有很多种:命令行客户端、图形化管理工具
命令行客户端
命令行管理工具是MySQL自带的工具,主要通过命令行的方式进行数据库操作,但在实际开发中效率非常低下,速度慢、易出错。
安装好MySQL后–>启动服务–>windows系统(win+R)输入cmd,打开命令提示符(linux跳过此步骤)–>输入mysql -uroot p命令–>进入MySQL客户端。如图所示,出现提示符“mysql>”,表示登录成功可以使用SQL对数据库进行操作。
图形化管理工具
为了解决命令行开发效率慢的问题,诞生出了很多优秀的图形化管理工具,web版的有phpMyAdmin,客户端的有SQLyog、Navicat等。
博主主要推荐Navicat,是真香啊~,有需要的小伙伴请点击,详细教程都在这里面。
下一篇:MySQL数据库程序设计(二)