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文献等等。

  • 相关阅读:
    bzoj 1053: [HAOI2007]反素数ant 搜索
    bzoj 1040: [ZJOI2008]骑士 環套樹DP
    对主席树的一些理解
    POJ 2777 Count Color【线段树】
    POJ 2420 A Star not a Tree?【爬山法】
    生物遗传学 整理人PYJ (恋_紫花地丁)
    POJ3321Apple Tree【dfs 树状数组】
    POJ1450:Gridland 【杂题】
    POJ 1088 滑雪【记忆化搜索】
    Poj3253:Fence Repair 【贪心 堆】
  • 原文地址:https://www.cnblogs.com/HuSay/p/5940255.html
Copyright © 2011-2022 走看看