zoukankan      html  css  js  c++  java
  • 数据库——关系型数据库

    本来想一上来就先复习SQL,然后再是数据库优化之类的东西,但是翻了翻之前上《数据库概念基础》的课件,发现有几个东西还是了解一下比较好。

          第一章:数据库基础中几个需要注意的概念

          第一节:什么是关系型数据库呢?

          关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。——摘自《百度百科》(更多深入的理解还是看资料比较好,涉及的内容比较多,如果全部都贴出来会很冗长。例如,什么是关系模型,集合代数又是什么,都是要了解的。我之所以单单贴出来这句话,是为了之后在看到的时候可以根据这句话想起相关的内容。有的时候,一句话的概念并不是要我们去背,而是去理解,自然而然就会记得住记得牢。)

    第二节:笛卡尔积是什么?

    首先,我们来看看定义:

    设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成的有序对,所有这样的有序对组成的集合叫做A与B的笛卡尔积,记作AxB.
    看着定义不是很明白?没关系,结合例子就会一目了然了。看例子:
    假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)} 
    再结合数据库的举例就更加清楚了:http://www.cnblogs.com/zerocc/archive/2011/11/03/2234458.html。大家有空看看。这里提出一个问题:为什么我们要知道什么是笛卡尔几呢?知道了之后有什么用呢?期待童鞋们在给出精彩的答案。
    第三节:等值连接、自然连接、外连接(包含左外连接、右外连接以及全外连接)
    什么是等值连接?
    等值连接是条件连接在连接运算符为“=”号时的特例。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组。
    什么是自然连接?
    自然连接就是在等值连接的情况下,当连接属性X与Y具有相同属性组时,把在连接结果中重复的属性列去掉。举例如下图:
    什么是外连接?(老师给的课件里,有这么一张图)
    为避免自然连接时因失配而发生的信息丢失,可以假定往参与连接的一方表中附加一个取值全为空值的行,它和参与连接的另一方表中的任何一个未匹配上的元组都能匹配,称之为外连接。外连接=自然连接+未匹配的元组(悬挂元组)
    左外连接=自然连接+左侧表中未匹配的元组
    右外连接=自然连接+右侧表中未匹配的元组
    全外连接=自然连接+两侧表中未匹配的元组
     
     
    简单地列举了几个面试中容易问到的基本概念,有些还没贴图。记得怎么回事的童鞋脑子可以脑子里回忆一下,不记得怎么回事的童鞋赶紧去翻翻教材或者问度娘咯。其实还有一个重要部分没讲到,就是关系运算部分,例如选择、投影、赋值等等。当初学的时候稀里糊涂,不知道为啥要知道这些,现在重新看了一遍课件才知道跟后面要学到的结构化查询语言SQL有紧密的关系。或许可以这么说,关系代数是公式(1+1),而SQL就是将其在计算机中实现运算的语言(a=1;b=1;c=a+b;)。
    举例可能不太恰当,大家将就着看吧。
     
    第二章:结构化查询语言SQL概述
    虽然SQL翻译过来是结构化查询语言,但它并不是一门只是用来查询的语言,还有其他的功能,例如操作数据、定义数据等功能。请看下图:
    SQL不是某个特定数据库供应商专用语言。几乎所有重要的关系型数据库管理系统都支持SQL,通用是它的一大特点。另外,SQL看上去很简单,但它实际上是一种很强力的语言,我看过网上一些写得很巧妙的SQL语言,可以进行非常复杂和高级的数据库操作。大家有兴趣的话可以去搜搜看,自己试着写写。
    这一章只是一个简单的介绍,在之后的内容里,会有一个比较详细的介绍和举例。大概会用两到三天的时间,复习一下数据定义、数据更新、查询、视图以及索引五个方面的内容。
     
    ——————————————————————————第六天————————————————————————
    喜欢这种在夜深无人的环境下写东西。
    1.看着班上一个又一个同学拿到非常不错的offer,心里说不羡慕嫉妒恨一点不着急肯定是骗人的。这是他们应得的,平时的努力和一次又一次的尝试,终究会有回报的。至于我嘛,最近算是进入复习状态,不会像以前那样什么都不想,也不会绷得太紧。在看书写东西的时候积攒一点点的自信心,在闲下来想到自己还没着落的时候又一点点地焦虑起来,循环往复中。
    2.最近实习那边被催得很紧,连续三天都没什么时间看自己的东西。感受一下工作时的状态也好,其实我是很懒的人,不是很喜欢这种紧绷的感觉,特别不喜欢别人催我,而且还是用“一定要在什么什么时候完成”之类的话。可是转念一想,正式工作之后的工作强度和紧张程度一定会更大,而且是大得多,现在开始转变自己的态度和适应适应也不错。有点像是在磨砺自己,谁叫以前太懒散了呢。
    3.今天从早上到公司坐下,一直到下午下班走人,一直在弄那个bug。晚上回来也没什么状态写东西。因为平时写,都是白天看了一段时间的资料有个大概的印象,晚上才组织语言开始动手码字。这篇内容少是少了点,下面几篇会注意增添一些内容。
  • 相关阅读:
    JAVA HDFS API Client 连接HA
    jdo pom
    iOS/OC 笛卡尔积算法 递归求笛卡尔积 求N个数组中元素任意组合
    Tableview如何实现流畅的展开折叠?
    iOS证书那些事儿
    iOS 状态栏颜色设置
    iOS 可以正常跳转WEB支付宝 无法跳转支付宝APP
    iOS代码管理工具的使用
    *** Assertion failure in -[UICollectionView _createPreparedSupplementaryViewForElementOfKind:atIndexPath:withLayoutAttributes:applyAttributes:]1555错误
    iOS UISearchBar 设置光标颜色和取消按钮颜色
  • 原文地址:https://www.cnblogs.com/davidshi/p/3385529.html
Copyright © 2011-2022 走看看