zoukankan      html  css  js  c++  java
  • 数据数据库数据库系统(Database System)原理

    题记:写这篇博客要主是加深自己对数据数据库的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢。

        数据库道理

        

     

        数据库系统(Database System)是用于组织和存取大批数据的管理系统,便利多

        用户应用计算机软、硬件资源组成的系统。它与文件系统的主要区分是数据的充

        分共享、交叉访问以及与应用(程序)的高度独立性。

        数据库系统由计算机系统、数据库、数据库描述、数据库管理系统、数据库应用

        程序和用户组成。

        

     

        

     

        1、计算机系统?

      计算机系统指的是用于数据库管理的计算机硬件资源和基本软件资源。硬件资源包括CPU、大容量内存(用于寄存操作系统,数据库管理系统、应用程序、数据库等)、直接存取的外部存储设备(硬盘)。软件资源包括操作系统和应用程序。

        

     

        2、什么是数据库(1)?

        

    l数据库是供给数据的基地。它能保存数据并让用户从它这里访问有用的数据。

        

     

        

    l数据库中的业务数据是以必定的组织方法存储在一起的相互有关的数据整体。数据库中保存的数据是相干数据,是一种绝对稳定的中间数据。为了便于管理和处理这些数据,将这些数据存入数据库时必须拥有必定的数据结构和文件组织形式(顺序文件、索引文件)。

        

     

        

     

        3、什么是数据库管理系统?

        

    lDBMS是Data Base Management System 的缩写。它包括面向用户的接口功能和面向系统的维护功能两大方面。前者为用户存取数据库供给须要的手腕,包括处理能力。后者为数据库管理者供给数据库的维护工具。详细为数据库定义,数据装入,数据库操作、控制、监视、维护、恢复、通信等。DBMS平日由三部分组成:数据库描述语言(DLL)、数据操纵(DML)或查询程序、数据库管理例行程序。

        

     

        

     

        4、应用程序和用户

        

    l数据库管理员(DBA):是系统工作人员,负责对整个数据库系统进行维护。

        

    l应用程序员:是后台专业用户,对数据库进行检索、插入、删除或更新等操作。

        

    l非程序员:是终端用户,通过联机终端设备,由基本命令组成的讯问语言对数据库进行检索、插入、删除或更新等操作。例如话务员,管理员,质检员。

        

    l总之,信息的集合是数据库,而DBMS的软件可用于完成信息的存储和检索。

        

     

        

     

        5、数据库系统的特色

        

    l数据冗余度小,易扩充

        

    l拥有较高的数据和程序的独立性

        

    l统一的数据控制能力

        

    Ø数据的安全性控制

        

    Ø 数据的完整性控制

        

    Ø 并发控制

        

     

        

     

        

     

        

    l数据库模型的基本概念

      数据模型是数据库系统的核心,是对客观事物及其联系的数据的描述,即实体模型的数据化。数据模型是表示实体与实体之间联系的模型。当前风行的数据模型有关系、层次、网状三种模型。

        

     

        

     

        

     

        1、什么是关系数据模型

        

    这种模型是新的DBMS,将数据简略地表示为一个或多个表格的内容。其是由表格形式体现,这种“表”在数学上称为关系。表中的每一行称为记载,每个记载由若干字段组成,一个记载描述一个事物,它的各字段是该事物各种性质的描述,在关系数据库中这些字段称为属性

        

     

        

     

        Table

        

    l关系型数据库是由一个或多个表的信息集合

        

    l表是一系列有规律的数据以行和列形式组成的

        

     

        

     

        

    l层次型数据库

      也称树状模型,是一个以记载类型为节点的有根的定向树。层次数据模型的特色为:有且仅有一个实体,向上不与任何实体联系称为根;有若干实体,向下不与任何实体联系称为叶,其余的实体向下可以与若干实体联系,但向上只与唯一的一个实体联系(一对多联系),称为中间节点。全部节点都处在某一层上。根节点在最高层,即第一层。统一层上的节点之间没有联系。拥有这些特色的数据结构称为层次结构。例如大学行政组织结构,如图1-1所示。典型例子是IBM的IMS。

        

     

        

     

        

    l网状型数据库

        

    l网状模型是以记载类型为节点网状结构,网状与树(层次结构)的区分主要有如下两点:

        

    Ø一个子节点可以有两个或多个父节点

        

    Ø在两个节点之间可以有两种或多种关系 ;

        

    l在网络模型中用“系”表示这种关系,所谓系是一个二级树,它的根节点称为主节点,它的叶称为从节点。先生选课实体模型是网络数据模型如图。其数据库的直接用户是程序员,访问存储信息的方法是通过特别的来自程序设计语言的调用,进行简略的特定查询,平日很困难。如图下页所示。

        

     

        

     

        动态服务器系统由三个主要组件形成:共享内存进程磁盘

        

     

        共享内存包括三个段:驻留段、虚拟段和消息段。驻留段主要用做磁盘数据的缓存。虚拟段主要用做内存池以支持进程及相干的会话(session)和线程。当客户与服务器利用共享内存进行通信时,消息段将用做两者之间的消息缓冲区。

        

     

        

     

        系统中还包括若干形成数据库服务器的UNIX进程,称为oninit。这些进程被称为虚处理器(VP,Virtual Processors)。每一个VP隶属于某一虚处理器类。而每一虚处理器类都负责完成一类特定的任务。

        

     

        

     

        INFORMIX动态服务器采用的是一种多线程体系结构。这就意味着一个进程利用自己的多个线程可以同时完成多个任务,因而整个系统只要较少的进程就足以完成DBMS任务。

        系统的磁盘组件由多个原始磁盘空间组成,称为chunk。Chunk以页(page)为基本单位。多个chunk集合逻辑上形成了数据空间(dbspace)。数据空间用于存储数据库、表、根以及物理日记和逻辑日记。一个数据空间最少包括一个chunk。

        

     

        

     

        

    •分配给系统应用的连续磁盘空间的单位称为chunk。chunk由多个页形成。它是一个典型的UNIX原始设备。chunk的巨细由管理员设定。
        每日一道理
    如果说友谊是一颗常青树,那么,浇灌它的必定是出自心田的清泉;如果说友谊是一朵开不败的鲜花,那么,照耀它的必定是从心中升起的太阳。 多少笑声都是友谊唤起的,多少眼泪都是友谊揩干的。友谊的港湾温情脉脉,友谊的清风灌满征帆。友谊不是感情的投资,它不需要股息和分红。(友谊可以换其他词语)

        

    •数据空间(dbspace)是多个chunk的逻辑集合。每一数据空间最少包括一个chunk。数据库和表创建在指定的数据空间上。系统必须最少包括一个数据空间:root dbspace。在该空间中存储着全部关于系统的信息。

        

    •物理日记(physical log)由连续的磁盘空间形成,其存储着共享内存缓冲区中全部已修改的数据页的(但还没有写入磁盘中)被修改前的映象。因而物理日记主要用于快速恢复。只有当数据页在首次被修改时,系统才会将其映象写入物理日记。

        

    •逻辑日记(logical logs) 也时由连续的磁盘空间形成,其存储着事务记载、DDL语句和checkpoint记载。由管理员设定逻辑日记的数目。系统循环应用逻辑日记文件。在系统初启时,物理日记和逻辑日记都自动建立在root dbspace上。

        

     

        

     

        

    lSQL是 Strutcture Query Language 的缩写。

        

    lSQL语言是IBM公司于1970年开发出来的。

        

    lSQL语言供给四种类型的语言:

        

    l数据定义语言

        

    [ Create table ,Create Database 等;

        

    l数据授权语言

        

    [ Grant,Revoke 等;

        

    l数据操作语言        

        

    [Insert into,Update,Delete from 等;

        

    l数据查询语言

        

    [  Select from 等;

        创建数据库的SQL语句格式:

        CREATE DATABASE <DatabaseName>

     [IN <DBSpaceName>]

     [WITH <[BUFFERED] LOG | LOG MODE ANSI>]

        Create table <TableName>

        (

     FieldName    DataType   [Default <>] [NOT NULL],

     .............

        )

         [WITH NO LOG]

         [IN <DBSpaceName>]

        数字类型

        整数: INTEGER 和 SMALLINT

        自动序数: SERIAL

        实数: FLOAT , SMALLFLOAT,DECIMAL(p),DECIMAL

        货泉:MONEY

        例如:

        CREATE TABLE pps_tab

        (  msisdn    INTEGER,

       subid       SERIAL,

       balance   MONEY,

       ..............

        )

        时光类型:

        DATE :日期型.

        DATETIME :日期型,精确到秒.

        INTERVAL :时光差;

        布尔类型:

        true 和false

        CREATE TABLE pps_tab

        (  .......,

       service start      DATETIME,

       IsOneTwoCall  BOOLEAN,

       ..............

        )

        

    u字符类型:

        

    uCHAR(n) : 包括指定长度的字符串.

        

    uBYTE:     二进制

        

    uNULL:    空

        

    u系统变量:

        

    Ø USER

        

    Ø CURRENT

        

    Ø TODAY

        

    Ø DBSERVERNAME

        

    l应用SELECT语句查询数据的语法:

        

    [1.select         要查询的字段

        

    [2.from           要查询的表名

        

    [3.where         要查询的条件

        

    [4.group by     按条件分组

        

    5.order by      按条件排序

        The where clause (optional) specifies which data values or rows will be returned or displayed, based on the criteria described after the keyword where.

        Conditional selections used in where clause:

        =  Equal
    >  Greater than
    <  Less than
    >=  Greater than or equal to
    <=  Less than or equal to
    <>  Not equal to
    LIKE  *See note below

        All Informix database servers support the following aggregate functions:

        

    q AVG

        

    q COUNT

        

    q MAX

        

    q MIN

        

    q RANGE

        

    q STDEV

        

    q SUM

        

    q VARIANCE

        Example 1:

      INSERT INTO stock

      VALUES (115, 'PRC', 'tire pump', 108, 'box', '6/box')

        Example 2:

      INSERT INTO stock (stock_num,description,unit_price,manu_code)

      VALUES (115,'tyre pump',114,'SHM')

        Example 1:

      INSERT INTO cust_calls (customer_num, call_descr)

      SELECT customer_num, order_num FROM orders

      WHERE paid_date IS NOT NULL

      AND ship_date IS NULL

        Example 1:

      UPDATE customer

      SET fname = 'Barnaby', lname = 'Dorfler'

      WHERE customer_num = 103

       Example 1:

       UPDATE customer

       SET (address1, address2, city, state, zipcode) =

               ((SELECT address1, address2, city, state, zipcode FROM newaddr

              WHERE newaddr.customer_num=customer.customer_num))

       WHERE customer_num IN (SELECT customer_num FROM newaddr)

        

     

    文章结束给大家分享下程序员的一些笑话语录: 《诺基亚投资手机浏览器UCWEB,资金不详或控股》杯具了,好不容易养大的闺女嫁外国。(心疼是你养的吗?中国创业型公司创业初期哪个从国有银行贷到过钱?)

  • 相关阅读:
    JAVA 作业:图形界面
    操作系统实验3:内存分配与回收
    PLAN :昔日未来
    操作系统课程:调度算法
    KMP 代码 暂存
    笔试总结篇(一) : 广州X公司笔试
    雨夜静思(一)
    KMP算法详解-- 转自Matrix67
    百度笔试
    lucene中Document删除不了的问题
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3085917.html
Copyright © 2011-2022 走看看