程序员人生 网站导航

添物零基础到大型全栈架构师 不花钱学计算机及编程(预备篇)— 数据库

栏目:数据库应用时间:2016-08-06 09:13:40


数据库是甚么?

数据库就是寄存数据的仓库。


为何要学习数据库

为了开发的方便,大家基本使用统1数据库进行数据的存储盒检索。


SQL是甚么?

SQL(Struct Query Language)是1标准,大家用来统1数据库操作使用的。比较简单和方便使用。

数据库学习使用Windowds系统的可以用微软SQL Server进行实战,如果用Linux的话,就使用MySQL吧。Oracle和DB2就是高级点而已,1般互联网公司也不用,也就是电信和银行等巨头使用。


参考视频学习网站:

1.SQL教程 (杨中科)使用微软SQL Server讲授的。

2.MySQL数据库(高洛峰)

3.尚学堂马兵士Oracle视频教程


参考图书:

学哪一种数据库可以选择其对应图书,也有些图书是通用的。有点经验再买也能够,1般官方文档就是最好的学习资料了。

《Head First SQL》像看图画书1样学习SQL,Head系列都还可以。

《Teach Yourself SQL in 21 Days》是非常不错的学习教程。

《SQL必知必会(第3版)》也不错,1般多版的图书都不会差,好才会有需求。

参考学习:

SQL in 24 Hours

强烈推荐此书:《Transact-SQL权威指南》


SQL必知必会也能够

如何衡量学习效果?


Oracle是可以考证的,其他的我不知道。

必须掌握和了解的基本概念(包括单不限于)

DataBase/DB/表/行/列/视图/字段/字段类型/数据长度/SQL/存储进程/ACID/触发器/连接查询/左连接/右连接/内连接/外连接/管理系统/用户/用户权限/数据库系统管理员/备份/恢复/日志/查询分析等


Edgar F. Codd  12 rules

Rule 0: The Foundation rule:

For any system that is advertised as, or claimed to be, a relational data base management system, that system must be able to manage data bases entirely through its relational capabilities.

Rule 1: The information rule:

All information in a relational data base is represented explicitly at the logical level and in exactly one way — by values in tables.


Rule 2: The guaranteed access rule:

Each and every data (atomic value) in a relational data base is guaranteed to be logically accessible by resorting to a combination of table name, primary key value and column name.


Rule 3: Systematic treatment of null values:

Null values (distinct from the empty character string or a string of blank characters and distinct from zero or any other number) are supported in fully relational DBMS for representing missing information and inapplicable information in a systematic way, independent of data type.


Rule 4: Dynamic online catalog based on the relational model:

The data base description is represented at the logical level in the same way as ordinary data, so that authorized users can apply the same relational language to its interrogation as they apply to the regular data.


Rule 5: The comprehensive data sublanguage rule:

A relational system may support several languages and various modes of terminal use (for example, the fill-in-the-blanks mode). However, there must be at least one language whose statements are expressible, per some well-defined syntax, as character strings and that is comprehensive in supporting 

all of the following items:

1.Data definition.

2.View definition.

3.Data manipulation (interactive and by program).

4.Integrity constraints.

5.Authorization.

6.Transaction boundaries (begin, commit and rollback).


Rule 6: The view updating rule:

All views that are theoretically updatable are also updatable by the system.


Rule 7: High-level insert, update, and delete:

The capability of handling a base relation or a derived relation as a single operand applies not only to the retrieval of data but also to the insertion, update and deletion of data.

Rule 8: Physical data independence:

Application programs and terminal activities remain logically unimpaired whenever any changes are made in either storage representations or access methods.


Rule 9: Logical data independence:

Application programs and terminal activities remain logically unimpaired when information-preserving changes of any kind that theoretically permit unimpairment are made to the base tables.


Rule 10: Integrity independence:

Integrity constraints specific to a particular relational data base must be definable in the relational data sublanguage and storable in the catalog, not in the application programs.


Rule 11: Distribution independence:

A relational DBMS has distribution independence.


Rule 12: The nonsubversion rule:

If a relational system has a low-level (single-record-at-a-time) language, that low level cannot be used to subvert or bypass the integrity rules and constraints expressed in the higher level relational language (multiple-records-at-a-time).


CAP理论(散布式系统)

又称CAP定理,指的是在1个散布式系统中, Consistency(1致性)、 Availability(可用性)、Partition tolerance(分区容错性),3者不可得兼。

散布式系统的CAP理论:理论首先把散布式系统中的3个特性进行了以下归纳:


   1致性(C):在散布式系统中的所有数据备份,在同1时刻是不是一样的值。(同等于所有节点访问同1份最新的数据副本)


   可用性(A):在集群中1部份节点故障后,集群整体是不是还能响应客户真个读写要求。(对数据更新具有高可用性)


   分区容错性(P):以实际效果而言,分区相当于对通讯的时限要求。系统如果不能在时限内达成数据1致性,就意味着产生了分区的情况,必须就当前操作在C和A之间做出选择。


再介绍几个高级内容


数据仓库

简单讲就是寄存数据的仓库,形象点就是大的数据库


数据分析

SQL基础必备。


数据发掘

1般也有SQL的使用。

NOSQL

MongoDB


Hadoop,Cassandra,HBase等

总结

实际工作中不完全依照书本上的模式走,完全可以不按范式规范。


致敬:Edgar Frank Codd




Codd提出了1个新的解决方案。在终究搜集到1970年具有创新性的技术论文--A Relational Model of Data for Large Shared Data Banks(大型同享数据库的关系数据模型)中的1系列报告中,Codd建议将数据独立于硬件来存储,程序员使用1个非进程语言来访问数据。Codd的解决方案的关键,是将数据保存在由行和列组成的简单表中,而不是将数据保存在1个层次结构中。


依照Codd的想法,数据库用户或利用程序不需要知道数据结构来查询该数据。发表了该论文以后不久,Codd又发布了更加详细的指点原则,提出了其指点创建关系数据库的12项原则。 


欢迎加入程序员的世界,添物科技为您服务。

欢迎关注添物网的微信(微信号:tianwukeji),微博(weibo.com/91tianwu/),或下载添物APP,及时获得最新信息。
免费加入QQ群:557373922(内有干货)。
添物网(http://www.91tianwu.com)出品
转载声明:本文系添物网原创出品,转载本文请标明出处,完全标注来源[添物网],(包括链接http://www.91tianwu.com)


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐