MySQL数据库程序设计(一)

前言

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

数据库技术的基本概念与方法

数据库计算诞生于20世纪60年代末。经过几十年的发展,数据库相关的理论研究,应用技术都有非常大的发展。数据库技术是信息系统的一项核心技术,已经成为现代计算机系统的重要组成部分

数据库相关的基本概念

数据、数据库、数据库管理系统、数据库系统是与数据库技术最为密切相关的基本概念。

  1. 数据
    通常这样定义数据:描述事物的符号记录称为数据(Data)。数据有多种表现形式,可以是数字、字母,也可以是图像、声音。例如:某用户数据为(张三,男,25,北京),张三是男性,年龄25,北京人,这些称为数据的解释。数据和数据的解释是密切相关的,无法解释的数据是无意义的。

  2. 数据库
    所谓数据库(DataBaseDB),是长期储存在计算机内的、有组织、可共享的数据集合。过去,数据往往以文件的形式存放文件柜中,随着信息技术的发展,人们借助计算机和数据库技术来管理大量复杂的数据。数据库中的数据按一定组织、描述和存储,具有较小的冗余,较高的数据独立性,系统易扩展且可以被多个用户共享。

  3. 数据库管理系统
    数据库管理系统(DBMS),是位于操作系统与用户之间的数据管理软件,是数据库系统的核心。能高效科学的管理数据库和数据。其主要功能有:数据定义、数据操纵、数据库建立和维护、数据库运行管理等。
    (1)数据定义
    DBMS提供数据定义语言(DDL),用户通过DDL可以对数据库中的数据对象进行定义。
    (2)数据操纵
    DBMS提供数据操纵语言(DML),使用DML,能够操纵数据,实现对数据库的基本操作,如:增、删、改、查等。
    (3)数据库的建立和维护功能
    数据库的建立和维护功能主要包括数据的输入、转换,数据库的存储、恢复,数据库的重组织和性能监视、分析等。
    (4)数据库的运行管理
    数据库的建立、运用和维护有DBMS统一管理,以保证数据安全性和完整性,多用户对数据的并发使用及故障后的恢复。
    (5)提供方便、有效存储数据库信息的接口和工具
    编程人员可通过程序开发工具与数据库接口编写数据库应用程序,数据库管理员(DBA)可通过相应软件对数据库进行管理。

  4. 数据库系统
    数据库系统(DBS),是指引入数据库技术的计算机系统。一个完整的数据库系统不仅包含数据库,还包含支持的硬件,数据库管理系统及相关软件、数据库管理员和用户。

数据库的特点

  1. 数据结构化
    在数据库系统中,数据不在针对某一应用,而是面向全局应用,具有整体的结构化,也就是数据的组织方式。DBMS既管理数据的物理结构和逻辑结构,也考虑数据本身和数据之间的关系。
  2. 数据冗余小
    DBMS对数据的管理,极大的减少数据冗余,节约空间,避免了因数据重复存储和不同拷贝而造成数据之间的不一致性。
  3. 数据共享性好
    DBMS可以被多个用户和多个应用共享使用,减少重复操作。
  4. 数据独立性
    数据独立性包括物理独立性和逻辑独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库是相互独立的;逻辑独立性是指用户的应用程序和数据库的逻辑结构是相互独立的。减少开发工作量。
  5. 数据库保护
    DBMS对数据的统一管理和控制功能,包括数据的安全性、完整性、并发控制、故障恢复等。
    (1)数据的安全性
    数据的安全性是指保护数据,以防不合法使用造成数据的泄露和破坏,通过赋予不同用户权限限制用户操纵,保护数据安全。
    (2)数据的完整性
    数据的完整性是指对数据的正确性、有效性、相容性,控制数据在指定范围内,满足约束条件。例如:“性别”的取值只能是“男”或“女”。
    (3)并发控制
    并发控制是指多个用户并发进程同时存取,修改操作,导致数据相互干扰,使得数据完整性遭到破坏。
    (4)故障恢复
    在使用过程中可能会发生人为操作失误或者非人为的硬件故障导致数据的正确性,所以DBMS可以将数据库从错误状态恢复到某一已知的正确状态,既故障恢复。

数据库系统的结构

数据库系统的结构可以有多种不同的层次或不同视角。若从数据库用户视角来看,通常采用三级模式结构,这是数据库管理系统内部的系统架构;从数据库管理系统来看,数据库系统的结构分为集中式结构、分布式结构、客户/服务器结构、并行结构,这是数据库系统的外部体系结构;若从数据库系统应用角度来看,目前数据库系统常见的结构有客户/服务器和浏览器/服务器结构。

客户/服务器结构

客户/服务器,即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)数据类型:每个列都有相应的数据类型,限制该列的数据存储。

含义字段名数据类型数据长度
学号studentNovarchar20
姓名namevarchar4
性别sexchar2
民族nationvarchar8
班级classNovarchar18

数据库设计基础

数据库设计是建立数据库及其应用系统的一项重要工作,也是信息系统开发和建设中的核心技术。良好的设计可以使数据库的性能达到最佳。

数据库设计的步骤

常用的数据库设计方法分为六个阶段:需求分析、概念结构设计、逻辑结构设计、物理逻辑结构设计、数据库实施、数据库运行与维护。
(1)需求分析
了解用户的应用需求,确定用户要实现哪些功能,涉及哪些数据,等。需求分析是整个设计的基础。
(2)概念设计
对用户的需求进行分析,形成概念模型。最常用的概念模型描述方式是E-R图。
(3)逻辑结构设计
把概念结构转换为DBMS支持的数据模型。把E-R图转换为关系数据模型。
(4)物理逻辑结构设计
将数据的存储选择合适的环境。主要设计存储结构和存取方法。
(5)数据库实施
设计人员运用DBMS提供的语言,创建数据库,编写并调试程序,运行。
(6)数据库运行和维护
正式投入生产后,在数据库运行期间,需不断对其进行维护、调整、修改、数据恢复等。主要有数据库管理员完成。

MySQL概述

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。

MySQL系统特性
  • MySQL是一个数据库管理系统
    数据库是结构化数据的集合,主要用于数据存储,数据库管理系统在计算中扮演着非常核心的角色。

  • MySQL数据库是关系型的
    一个关系型数据库将数据存储在不同的表中,而不是将所有的数据存储在一个大的存储区域中。为了提高存储速度,结构化数据是有组织的存放在物理文件中。数据库、表格、视图、行和列等对象的逻辑模型提供了灵活的编程环境。你可以在指向不同表格的不同数据字段中设置对应关系的规则,如一对一、一对多、唯一、必须和可选。数据库强制执行这些规则,因此,在一个设计良好的数据库中,应用程序永远不会看到不一致的、重复的或者孤立的、过期或者丢失的数据。

  • MySQL软件是开源的
    开源就意味着每个人都可以使用和修改软件。每个人都可以免费在网络上下载和使用MySQL。你可以根据个人需求学习和更改源码,MySQL软件使用的是GPL协议。

  • MySQL数据库服务器速度快、可靠性高,扩展性强,且易于使用
    MySQL服务器可以在桌面或者笔记本电脑上与其他应用程序、web服务器等等一起轻松运行,不需要特别关注。如果要将整个机器用于MySQL,可以调整MySQL设置,以充分利用所有的内存、CPU能力和可用的输入输出能力。MySQL还可以扩展到一组机器,并将它们联网。

  • MySQL服务器在客户端、服务器或者嵌入式系统中工作
    MySQL数据库软件是一个客户端/服务器系统,由一个多线程的SQL服务组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口。MySQL服务器也可以作为嵌入式多线程库,可以将其连接到应用程序,以获得更小、更快,更易于管理的独立产品。

  • 提供大量的MySQL软件支持
    MySQL支持大量的语言,大部分应用程序语言均支持MySQL软件。

MySQL服务器的安装与配置

MySQL的下载地址:https://dev.mysql.com/downloads/mysql/
选择对应版本–>下载完后–>双击–>一直点击Next(下一步)–>中途输入对应的用户名和密码–>安装完成。

MySQL服务器的启动与关闭

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自带的工具,主要通过命令行的方式进行数据库操作,但在实际开发中效率非常低下,速度慢、易出错。
    安装好MySQL后–>启动服务–>windows系统(win+R)输入cmd,打开命令提示符(linux跳过此步骤)–>输入mysql -uroot p命令–>进入MySQL客户端。如图所示,出现提示符“mysql>”,表示登录成功可以使用SQL对数据库进行操作。
    在这里插入图片描述

  • 图形化管理工具
    为了解决命令行开发效率慢的问题,诞生出了很多优秀的图形化管理工具,web版的有phpMyAdmin,客户端的有SQLyogNavicat等。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

博主主要推荐Navicat,是真香啊~,有需要的小伙伴请点击,详细教程都在这里面。

章节目录

下一篇:MySQL数据库程序设计(二)

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MySQL 是一种广泛使用的关系型数据库管理系统,下面介绍一些 MySQL 数据库程序设计的基本知识。 1. 数据库设计 数据库设计是任何数据库程序设计的核心,它决定了数据库表的结构、数据类型、关系和约束等。通常,我们需要遵循以下步骤来设计数据库: - 确定数据需求:收集用户需求,确定需要存储的数据。 - 设计实体关系模型(ER模型):将数据需求转化为实体、属性和它们之间的关系。 - 标准化设计:消除数据冗余、避免数据丢失、提高数据一致性,这是一个迭代过程。 - 物理设计:将 ER 模型转换为数据库表的结构、数据类型、关系和约束等。 2. SQL 语言 SQL 是结构化查询语言(Structured Query Language)的缩写,它是用于访问数据库的标准语言。MySQL 支持 SQL 语言的标准语法和扩展语法,下面是一些常用的 SQL 语句: - CREATE DATABASE:创建数据库。 - CREATE TABLE:创建表。 - SELECT:查询数据。 - INSERT INTO:插入数据。 - UPDATE:更新数据。 - DELETE:删除数据。 - ALTER TABLE:修改表结构。 - DROP DATABASE:删除数据库。 3. 数据库连接 在 MySQL 中,我们可以使用多种方式来连接数据库,最常见的方式是使用 MySQL 客户端和编程语言的 API 接口。下面是一些常用的 MySQL 连接方式: - 命令行客户端:使用 MySQL 自带的命令行客户端连接数据库。 - GUI 客户端:使用 MySQL Workbench、HeidiSQL 等图形化客户端连接数据库。 - 编程语言的 API 接口:使用 Python、Java、PHP 等编程语言的 API 接口连接数据库。 4. 数据库管理 MySQL 数据库管理包括备份、恢复、优化、维护等操作。下面是一些常用的 MySQL 数据库管理操作: - 备份和恢复:使用 mysqldump 工具备份和还原数据库。 - 优化:使用 EXPLAIN 分析 SQL 语句的执行计划,优化查询性能。 - 维护:定期清理无用数据、重建索引、优化表结构等。 以上就是 MySQL 数据库程序设计的基本知识,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值