数据库基础知识

数据库基础知识

数据库和数据库管理软件

  • 数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件)。
  • 数据库管理系统(DBMS),又称为数据库软件,我们通过数据库软件来创建和管理数据库。

我们之所以常常把 DB 等价位 DBMS,是因为我们使用 DBMS 来访问 DB,DB 对我们来说是透明的。

一个数据库由一到多个表组成。

表(table):某种特定类型数据的结构化清单。

  • 结构化:表由列、行分割成一个个网格组成。

  • 特定类型:表的每条记录将有着相同项,不应将顾客的清单和订单的清单存储在一个表中。

  • 表名:数据库中的每个表都有一个名字,用来标识自己。此名字是唯一的, 这表示数据库中没有其他表具有相同的名字。不同数据库的表可以用相同的名字。

模式(schema):关于数据库和表的布局及特性的信息。

(column):表中的一个字段。所有表都是由一个或多个列组成的。每一列数据含义相同且属于不同条的用户,比如 1 列 id、2 列 姓名。

数据类型(datatype):所容许的数据的类型。每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。数据类型有利于统一规则进行排序。

(row):表中的一个记录。表中的数据是按行存储的,一条记录一个行。

主键

主键(primary key):一列(或一组列),其值能够唯一区分表中每个行。没有主键,更新或删除表中特定行很困难,因为没有安 全的方法保证只涉及相关的行。设计人员应当确保其设计的每一个表都有一个主键,以便以后的数据操纵和管理。

表中的任何列都可以作为主键,只要它满足以下条件:

  • 任意两行都不具有相同的主键值;
  • 每个行都必须具有一个主键值(主键列不允许NULL值)。

主键通常定义在表的一列上,但这并不是必需的,也可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。


主键的最好习惯

除 MySQL 强制实施的规则外,应该坚持的

几个普遍认可的最好习惯为:

  • 不更新主键列中的值;

  • 不重用主键列的值;

  • 不在主键列中使用可能会更改的值。(例如,如果使用一个名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键。)

SQL

SQL(发音为字母 S-Q-L 或 sequel)是结构化查询语言(Structured Query Language)的缩写。SQL 是一种专门用来与数据库通信的语言。

SQL有如下的优点。

  • SQL不是某个特定数据库供应商专有的语言。几乎所有重要的 DBMS都支持SQL,所以,学习此语言使你几乎能与所有数据库打交道。
  • SQL简单易学。它的语句全都是由描述性很强的英语单词组成,而且这些单词的数目不多。
  • SQL尽管看上去很简单,但它实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

但是 SQL 虽然企图抽象出一个查询规范,但是事实上任意两个 DBMS 实现的 SQL 都不完全相同(大体相同)。

客户机—服务器软件

MySQL、Oracle以及Microsoft SQL Server等数据库是基于客户机—服务器的数据库。客户机—服务器应用分为两个不同的部分。服务器部分是负责所有数据访问和处理的一个软件。这个软件运行在称为数据库服务器的计算机上。

  • 服务器软件:与数据文件打交道。服务器软件为MySQL DBMS。你可以在本地安装的副本上运行,也可以连接到运行在你具有访问权的远程服务器上的一个副本。

  • 客户机软件:与用户打交道的软件。客户机可以是开发语言(如ASP、ColdFusion、JSP和 PHP)、程序设计语言(如 C、C++、Java)等。

你可能感兴趣的:(sql)