zoukankan      html  css  js  c++  java
  • 数据库主要概念与用法整理

           这篇数据库的整理,既有参考书籍及网络上关于数据库的知识,也有个人的浅薄见解。如有错误,欢迎联系图片上的邮件地址,探讨改正。

           关系数据库系统与文件数据库系统的区别-主要有三点。

           1,关系数据库系统的主要特征是数据的结构化,而文件数据库系统是数据的非结构化。
           2,关系数据库系统中,用户看到的逻辑结构是二维表,而文件数据库系统中,基本元素是文件。
           3,文件数据库系统可以实现多媒体文件管理,支持c/s工作模式。
           注:两者一般配合使用,大概是关系数据库提供获取资源的方向,文件数据库提供资源。类似地图和地点的关系,两者可以相互独立,也可以相依存。

          

           sql常用使用语句

           select(查询),insert(插入),update(更新),delete(删除),create(建表),drop(删表),alert(更改表结构),grant(添加用户权限),revoke(移除用户权限)

          

        内连接与外连接的区别

            内连接(a表 inner join b表)要保证所有的行都满足链接条件。比如A表的编号列有a,b,c.B表的编号列有a,b,c,d.则结果只显示有相同编号的,d不显示。

            外连接则相反,外连接分文左(left outer join),右外连接(right outer join),还有全外连接(full outer join).以上面的内连接为例,左外连接就是以A表为示例,如果B表中没有相应的值则为空,右外连接相反,全外连接就是把左右外连接的结果全部显示出来。

             具体的使用可以参考这个链接的回答,答得还不错。
             注:内外链接的查询语句结果有点像and,or的判断条件语句,可以关联一下进行理解。多加练习,很快就能掌握。

         事务是什么,有什么用,它的作用是什么?
             在事务中,所有sql语句执行成功,它的数据才会提交。否则,事务取消或者是回滚。
             事务用来做什么?
                 例如,你在网上购物时,它的交易过程包括以下几个操作
                 更新客户所购物品的库存信息。
                 保存客户的付款信息。
                 生成订单保存到数据库中。
                更新用户相关信息,不如购物的数量。
            为了保证以上的步骤能够全部完成,就需要事务来约束它,如果都顺利执行这些操作,则交易成功。与交易相关的信息也全部更新成功。事务是为了防止数据库更新过程中产生的意外。

            事务要满足四个属性,一是原子性,二是一致性,三是隔离性,四是持久性。
            事务的代码是
               BEGIN TRANSACTION

               语句
               COMMIT
               ROLLBACK

             事务使用参考

            事务的rollback可以用来对执行的事务,进行还原操作。相当与我们平常用的ctrl+z撤销操作,不过它的操作对象是事务。

             


             存储过程
              增强sql语言的功能和灵活性。可以完成复杂的判断和运算。在一定程度上可以保证数据的安全。
              存储过程代码
              create procedure sp_name @[参数名][类型]
             as begin
                ...(SQL语句)
              end

              存储过程语句使用参考

              

             主键和外键
             主键是表中唯一的标识符。不能为空,相当于索引,一般由计算机自动生成,可以去设置表格的主键自增。
              外键也称外码,作为两个表之间的联系。如果key为a表的主键,而b表中也存在key,则key为b表中的外键。

             

             什么是死锁
            在操作系统中,由于若干程序不断的申请,释放资源。这个过程总,由于争夺资源而处于无限期的等待状态,造成程序无法继续执行下去。这时系统处于死锁状态,或者是产生了死锁。此时便只能依靠外力打破这种状态。
             产生死锁的四个必要条件。1,互斥,每个资源每次只能被一个进程使用,2请求与保持等待,一个进程请求资源被阻塞,对已获得的资源保持不放。3,不可掠夺,进程已获得的资源,未使用完成时,不得强制掠夺。4,环路等待,若干进程之间形成首尾相接的等待资源关系。

              简单来讲,就是资源使用的不适当。

             

             共享锁和互斥锁
             共享锁简称s锁,也叫读锁。用于不更改或不更新数据的操作。比如select语句。共享锁允许其他用户获取共享所得资源,但是不能修改它。

             互斥锁,简称x锁,也叫排他锁。用于数据修改操作。为了保证数据操作的完整性,加入互斥锁。以保证在任意时刻,只有一个线程访问对象。
             注:对于锁的使用,一定要注意,先锁在操作,操作完成后必须解锁。

           使用Top取出表中指定区间的记录
           使用Top(top10 表示取前十条)方法
           select top 10 * from a where id>(select max(id) from (select top 20 id from a) as a)
           选出前十条 条件是 id要大于(从前二十条中选出的最大值)
           select top 10* from s where id not in(select top 20 id from s)
          选出前十条 条件是 id不在前20条id之内。

         

        CHECK约束
           限制表中某一列或某些列中可接受的数据值或数据格式,它用于限制约束列的取值范围。

           视图
           视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式。视图是一种虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,系统根据视图的定义去操作视图相关联的基本表。

           视图的作用:简单性(视图简化了用户对数据的理解以及操作)和安全性(用户只能查看和修改他们所能看到的数据)。

           参考资料:程序员面试笔试宝典。百度知道,csdn网站,360文献等等。

  • 相关阅读:
    my first android test
    VVVVVVVVVV
    my first android test
    my first android test
    my first android test
    ini文件
    ZZZZ
    Standard Exception Classes in Python 1.5
    Python Module of the Week Python Module of the Week
    my first android test
  • 原文地址:https://www.cnblogs.com/HuSay/p/5940255.html
Copyright © 2011-2022 走看看