MySql初识

初学数据库大学生一枚,希望每一篇文章都能记录自己的成长,留存那些奋斗下的时光

信息,数据

信息是客观事物在人脑中的反映,是以各种方式传播的关于某一事物的消息电,情报、知识,信息是一种资源。

数据是描述客观事物的符号记录。计算机中的数据是指经过数字化后能够由计算机处理的数字,图形、图像等符号记录。数据是描述与管理信息的有效载体。

数据库,数据管理系统

数据库(DB)是中是以一定的组织方式存放在一起的、能够被多个用户所共享的、与应用程序彼此独立的、相互关联的数据集合。(可以理解为存放数据的仓库(不根数据仓库混肴),数据与数据相关联,数据与用户共享,数据与程序相独立

数据库管理系统(Database Management System,DBMS)是一个系统软件,负责对数据库资源进行统一的管理和控制。职能建立数据库、维护数据库、接受并完成用户提出的访问数据的各种请求,并且为数据库的安全性和完整性提供保证

  •  通过数据库管理系统,用户可以不必过问数据存放的细节而方便地建立、使用和维护数据库。
  •  用户通过数据库管理系统访问数据库中的数据,数据库管理员也通过数据库管理系统进行数据库的维护工作。
  •   它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。

数据管理系统的功能:

      1.数据定义功能
              DBMS提供数据定义语言(Data Definition Language,DDL),可以定义数据库的结构,定义数据库的完整性约束条件和保证完整性的触发机制等。
      2.数据操纵功能
            DBMS提供数据操作语言(Data Manipulation Language,DML),用户实现对数据库中数据的查询、插入、修改、删除等基本操作。
      3.数据库控制系统
           负责在数据库运行过程中对数据库的管理和控制:协调各个用户的访问;对数据库进行安全检查;对数据库进行完整性约束条件的检查和执行;对数据库的内部维护。
     4.数据库的建立与维护功能
          负责数据库初始数据的输入;记录工作日志;监视数据库性能;在性能变坏时重新组织数据库;在用户要求或系统设备发生变化时修改和更新数据库;在系统软硬件发生故障时恢复数据。

DBMS的组成

      1.数据定义语言及其翻译处理程序

            供用户定义数据库的各种模式,翻译程序负责将它们翻译成相应的内部表示,即生成目标模式。

      2.数据操纵语言及其编译(或解释)程序

           实现对数据库的检索、插入、修改、删除等基本操作。DML分为宿主型DML和自主型DML两类。

     3.数据库运行控制程序

           DBMS提供了一些系统运行控制程序负责数据库运行过程中的控制与管理,它们在数据库运行过程中监视着对数据的所有操作,控制管理数据库资源,处理多用户的并发操作等。

    4.实用程序

           DBMS通常还提供一些实用程序,数据库用户可以利用这些实用程序完成数据库的建立与维护,以及数据格式的转换与通信。

 

常见的数据库管理系统:

                                                                          MySQL、ORACLE、ACCESS、SQL Server

     

       

 

 

 

 MySql数据库管理系统

     MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中

     特点:

  1.  开放源码
  2. 高度非过程化
  3.  面向集合的操作方式
  4.  以一种语法结构提供多种使用方式
  5. 语言简洁,易学易用

 

 

oracle数据库管理系统

   oracle是甲骨文公司的一款关系数据库管理系统

    特性:

  1.  处理速度快,非常快。
  2. 安全级别高。支持快闪以及完美的恢复,即使硬件坏了 也可以恢复到故障发前一秒。
  3.  几台数据库做负载数据库,可以做到30s以内故障转移。
  4. 网格控制,以及 数据仓库方面 也非常强大。

ACCESS数据库管理系统

    ACCESS是微软研究发布的一款数据库管理软件

   优势:

  1.  存储方式单一,便于用户的操作和管理。
  2.  界面友好、易操作。Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,使用鼠标就可以操作
  3.  集成环境、处理多种数据信息。
  4.   Access支持ODBC(开放数据库互联)。

SQL Server数据库管理系统

   SQLserver数据库是美国微软公司发布的一款RMDBS数据库,也是关系型数据库系统。

      优点:

  1. 真正的客户服务器体系结构。
  2. 图形化用户界面,更加直观、简单。
  3. 丰富的编程接口工具,为用户进行程序设计提供更多选择余地。
  4. SQLserver和Windows NT完成集成,可以利用NT的愈多功能。
  5.  具有很好的伸缩性,可跨界运行。从膝上型电脑到大型处理器可多台使用。
  6.  对web技术的支持,使用户能够容易的将数据库中的数据发布到web上。

数据库系统

  由数据库及其管理软件组成的系统。是一个实际可运行的存储、维护和为应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。

 数据库系统包括数据、硬件、软件和用户四个部分。
          (1)数据是构成数据库的主体,是数据库系统的管理对象。
          (2)硬件是构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数据库系统的需要。
          (3)软件是包括操作系统、数据库管理系统及应用程序。数据库管理系统是数据库系统的核心软件,是在操作系统的支持下,解决如何科学地组织和存储数据,如何高效获取和维护数据的系统软件。
          (4)用户包括专业用户、非专业用户和数据库管理员。

关系数据模型

      概念模型

                    为了把现实世界中的具体事物或事物之间的联系表示成DBMS所支持的数据模型,首先将现实世界的事物及其之间的联系进行抽象,转换为信息世界的概念模型。然后将概念模型转换为机器世界的数据模型。
         1.实体(Entity)
                       客观存在并可相互区别的事物称为实体。实体可以是人,可以是物,也可以是事;可以是实际对象,也可以是概念;可以是事物本身,也可以是指事物之间的联系。
          2.属性(Attribute)
                       实体所具有的每个特性称为属性。
          3.关键字(Key
                      能唯一地标识一个实体的属性的集合称为关键字(或码)。
          4.域(Domain)
                       每个属性有一个取值范围,称为该属性的值域。值域的类型可以是整型、实型或字符型等。

          5.实体型(Entity Type)
                      一类实体所具有的共同特征或属性的集合称为实体型。事物的若干属性值的集合可表征一个实体,而若干个属性所组成的集合可表征一个实体的类型,简称为“实体型”,一般用实体名及其属性来抽象地刻画一类实体的实体型。
          6.实体集(Entity Set)
                     同型实体的集合叫实体集。
          7.联系(Relationship)
                    现实世界的事物之间是有联系的。一般存在两类联系:
                         一是实体内部组成实体的各个属性之间的联系;
                         二是各种实体之间的联系。
在考虑实体内部的联系时,是把属性看作为实体的。

          两个实体之间的联系可分为三种:
                (1)一对一(1 : 1)联系。若对于实体集A中的每一个实体,实体集B中至多有唯一的一个实体与之联系,反之亦然,记作1 : 1。
                (2)一对多(1 : n)联系。若对于实体集A中的每个实体,实体集B中有n个实体(n≥0)与之联系;反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,记作l : n。           
                (3)多对多(m : n)联系。若对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系;反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之对应,记作m : n。

           概念模型的表示方法最常用的是实体-联系方法(Entity-Relationship Approach),简称E-R方法。在E-R图中:
                长方形框表示实体集,框内写上实体型的名称。
                椭圆形框表示实体的属性,并用无向边把实体框及其属性框连接起来。
                菱形框表示实体间的联系,框内写上联系名,用无向边把菱形框及其有关的实体框连接起来,在旁边标明联系的种类(1 : 1,1 : n或m : n)。如果联系也具有属性,则把属性框和菱形框也用无向边连接上。

        数据模型

               数据模型是数据库系统中关于数据和联系的逻辑组织的形式表示。
                    每一个具体的数据库都是由一个相应的数据模型来定义。
                    每一种数据模型都以不同的数据抽象与表示能力来反映客观事物,有其不同的处理数据联系的方式。
                    数据模型的主要任务就是研究记录类型之间的联系。数据模型是数据库系统的核心和基础,每个DBMS软件都是基于某种数据模型开发的。
               数据模型三要素:
                   数据结构用于描述系统的静态特性,人们通常按照其数据结构的类型来命名数据模型。
                   数据操作用于描述数据的动态特征。
                   完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化。
                   目前,数据库领域采用的数据模型有层次模型、网状模型、关系模型和面向对象模型,其中应用最广泛的是关系模型。

                模型分类:
                     1.层次模型
                 用树形结构表示实体之间联系的模型叫层次模型。是最早用于商品数据库管理系统的数据模型。
                层次模型的表示方法:
                树的节点表示实体集(记录的型),节点之间的连线表示相连两实体集之间的关系,这种关系只能是“1-M”的。通常把表示“1”的实体集放在上方,称为父节点,表示“M”的实体集放在下方,称为子节点。
                层次模型的结构特点有以下两点。
                              (1)有且仅有一个根节点。
                              (2)根节点以外的其他节点有且仅有一个父节点。
                          在层次模型中,一个节点称为一个记录型,用来描述实体集。
                  2.网状模型

                      网状模型(Network Model)是一种更具有普遍性的结构,从图论的角度讲,网状模型是一个不加任何条件限制的无向图。

                      网状模型是以记录为节点的网状结构,它满足以下条件:可以有任意个节点无双亲;允许节点有一个以上的双亲;允许两个节点之间有一种或两种以上的联系。

                     在网状模型的DBTG标准中,基本结构是简单二级树,这被称作系。系的基本数据单位是记录,它相当于E-R模型中的实体集,记录又有若干数据项组成,它相当于E-R模型中的属性。

                     网状模型明显优于层次模型,网状模型在一定程度上支持数据的重构,具有一定的数据独立性和共享特性,并且运行效率较高。但它在应用时有以下问题。

                  3.关系模型
                     关系模型是数据库领域中最重要的一种数据模型。
                     关系模型的本质是一张二维表。在关系模型中,一张二维表就称为一个关系。

      关系模型: 

               (1)关系数据模型的优点。

                         ① 能够以简单、灵活的方式表达现实世界中各种实体及其相互间的关系,使用与维护也很方便。关系模型通过规范化的关系为用户提供了一种简单的用户逻辑结构。

                         ② 关系模型具有严密的数学基础和操作代数基础,如关系代数、关系演算等,可将关系分开,或将两个关系合并,使数据的操纵具有高度的灵活性。

                         ③ 在关系数据模型中,数据间的关系具有对称性,因此,关系之间的寻找在正反两个方向上难易程度是一样的,而在其他模型如层次模型中,从根节点出发寻找叶子的过程容易解决,而相反的过程则很困难。

               (2)关系模型的缺点。

                         ① 实现效率不够高。

                        ② 描述对象语义的能力较弱。

                        ③ 不直接支持层次结构,因此不直接支持对于概括、分类和聚合的模拟,即它不满足管理复杂对象的要求,不允许嵌套元组和嵌套关系的存在。

                        ④ 模型的可扩充性较差。

                        ⑤ 模拟和操纵复杂对象的能力较弱。

       关系的完整性                  

             实体完整性

  •    在关系模式中,将能唯一标识一个元组的属性或属性组称为候选码,一般选中其中一个作为该关系的主码。
  •   包含在任何一个候选码中的属性都称为主属性。不包含在任何候选码中的属性称为非主属性。
  •   实体完整性规则:若属性(指一个或一组属性)A是基本关系R的主属性,则属性A不能取空值。
  •   实体完整性规则是针对基本关系而言的,即针对现实世界的一个实体集,而现实世界中的实体是可区分的。
  •    该规则的目的是利用关系模式中的主码及主属性来区分现实世界中的实体集中的实体,所以主属性不能取空值

          参照完整性

  •  在关系模型中,实体与实体之间的联系同样采用关系模式来描述。通过引用对应实体的关系模式的主码来表示对应实体之间的联系。

                         例如,关系模式:
                                    部门(部门编码,部门名称,电话,办公地址);
                                    职工(职工编码,姓名,性别,年龄,籍贯,所属部门编码)。
                                   其中,职工关系模式中的“所属部门编码”与部门关系模式中的主码“部门编码”相对应,则“所属部门编码”是职工关系模式中的外码。职工关系模式通过外码来描述与部门关系模式的关联。

  • 参照完整性规则:若属性F是基本关系R的外码,且F与基本关系S的主码K相对应,则对于R中每个元组在F上的值:必须等于S中某个元组的主码值,或者取空值。
  • 参照完整性规则就是定义外码与主码之间的引用规则,也是关系模式之间的关联规则。

         用户定义的完整性

  • 用户定义完整性是针对某一具体数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义的要求,关系模型应提供定义和检验这一类完整性的机制,以便用统一的系统方法处理它们,而不是由应用程序来承担这一功能。

                         例如,在职工关系中,职工年龄的取值范围应该限定在18~60之间,学生选课的成绩取值范围应该限定在0~100之间,关系模型应该为用户提供定义和检验这一类完整性的约束机制,保证数据的正确性。

posted @ 2020-10-01 02:01  小Ti客栈  阅读(206)  评论(0)    收藏  举报