从SQL的角度而言,数据库是一个以某种有组织的方式储存的数据集合。

我们可以把它比作一个“文件柜”,这个“文件柜”是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的。

下面介绍几个术语

数据库(database)

保存有组织的数据容器

注意:数据库和实际使用的软件无关,数据库软件应称为数据库管理系统(DBMS)。

表(table)

某种特定类型数据的结构清单。

储存在表中的数据硬是同一种类型的数据或清单。绝不应该将用户的清单和订单的清单放在一个表中,否则会造成检索和访问变得很困难,

正确的做法是创建两个表,各存一个清单。

注意:表名在同一个数据库中不能重复

模式(schema)

关于数据库与表的布局以及特性的信息。这些信息包括定义数据在表中如何储存,包含储存什么样的数据,数据如何分解,各部分信息如何命名等。

列(cloumn)

表由一个列或多个列组成。用于存储表中某部分的信息。

例如在客户表中,一列存储顾客的编号,另一列存储顾客的姓名,而地址、城市、省等信息都存在各自的列中。

分解数据

正确的将数据分解为各个列很重要,通过分解这些数据,才有可能利用特定的列对数据进行分类和过滤(如找出特定省或特定城市的顾客)。

数据库中的每一列都有相应的数据类型(datatype),它定义了列中可存储的数据种类。选择合适的数据类型,可以正确的分类各种数据,

并在优化磁盘方面起到了重要的作用。因此,在创建表时需要多加注意所用的数据类型。

注意:数据类型及其名称是SQL不兼容的一个主要原因。许多高级的数据类型没有,更糟的是偶然会有相同的数据类型在不同的DBMS中具

有不同的名称,对此用户毫无办法,要做的是在创建表结构时就应该注意这些差异。

行(row)

表中的一个记录(record),通常记录和行是可以交替使用的,但在术语中我们还是称之为行。

主键(primary key)

每一行都应该有一列(或几列)可以唯一的标识自己。例如,顾客表有顾客编号,学生有学号,公民有唯一的身份ID。

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

  • 任意两行都不具有相同的主键值
  • 每一行都必须拥有一个组件值(主键值不允许NULL值)
  • 主键列中的值允许修改和更新;
  • 主键值不能重用(如果某行被删除,他的主键值不能赋值给其他新行)

还有一种外键,将在之后的课程中介绍

SQL(structured query language)

SQL是一种专门用来与数据沟通的语言。

与其他语言(如JAVA,C++,PHP等)不同,SQL只有很少的语句,而且这些词具有很强的描述性。几乎所有重要的DBMS都

支持SQL语言,因此学会它你几乎可以和所有的数据库打交道。

SQL虽然看上去很简单,但实际上是一种强力的语言,灵活使用,可以进行复杂和高级的数据库操作。

数据库学习 day1 认识数据库的更多相关文章

  1. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

  2. 数据库学习之mysql数据库

    参考链接网站: http://c.biancheng.net/view/2361.html Mysql的版本以及版本号 MySQL Community Server(社区版):该版本完全免费,但是官方 ...

  3. oracle 数据库学习3 --oracle 数据库中常使用的函数

    1.字符函数: ASCII(X) -->返回X字符的ASCII码 concat(x,y)-->将y连接到X上输出 select concat(first_name,last_name) f ...

  4. MySQL数据库学习: 01 —— 数据库的概述

    壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...

  5. MYSQL数据库学习笔记1

      MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...

  6. SQL数据库学习,常用语句查询大全

    数据库学习 sql server数据库基本概念 使用文件保存数据存在几个缺点: 1.文件的安全性问题: 2.文件不利于查询和对数据的管理: 3.文件不利于存放海量数据 4.文件在程序中控制不方便. 数 ...

  7. 关于SQL SERVER数据库学习总结

    对于SQL SERFVER数据库也学了有一阵子了,自己也对自己所学做了一些总结. 我们首先学习数据库设计的一些知识点和用SQL语句建库. 设计数据库步骤:需求分析阶段,概要设计阶段,详细设计阶段, 建 ...

  8. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

随机推荐

  1. 对象数组化 Object.values(this.totalValueObj).forEach(value => {

    对象数组化 Object.values(this.totalValueObj).forEach(value => {

  2. 详解如何快速使用数据可视化BI软件创建医疗运营监控数据中心大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以医疗运营监控数据中心大屏 ...

  3. 深度学习与人类语言处理-语音识别(part3)

    上节回顾深度学习与人类语言处理-语音识别(part2),这节课我们接着看seq2seq模型怎么做语音识别 上节课我们知道LAS做语音识别需要看完一个完整的序列才能输出,把我们希望语音识别模型可以在听到 ...

  4. Hive 时间操作

    Hive 时间转换 UNIX时间戳概念:因为UNIX时间戳只是一个秒数,一个UNIX时间戳在不同时区看来,时间是不同的.如UNIX时间戳0,在0时区看来是1970-01-01 00:00:00,在东八 ...

  5. Python+Selenium+Unittest编写超链接点击测试用例

    测试功能:博客园首页网站分类的一级菜单链接和二级菜单链接的点击. 遇到的问题: 1.循环点击二级菜单时,点击了一个一级菜单下的第一个二级菜单后,页面会刷新,再定位同一个一级菜单次下的第二个二级菜单时, ...

  6. OFD电子证照模版制作工具使用说明

    每一类电子证照都具有相同板式,不同的电子证照之间只是文字.图片的差异.生成电子证照常用的方式就是采用模版批量生成. 本软件可以方便的设计证照模版.服务端根据模版生成电子证照,不同种类的电子证照生成逻辑 ...

  7. WebStorm添加Angular2服务启动的脚本命令

    注意:选择的start在package.json可以修改. 例如添加一个run命令:

  8. if-else代码优化的八种方案

    前言 代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,本文将介绍优化if-else代码的八种方案. 优化方案一:提前return,去除不必要的else 如 ...

  9. word2vec 和 glove 模型的区别

    2019-09-09 15:36:13 问题描述:word2vec 和 glove 这两个生成 word embedding 的算法有什么区别. 问题求解: GloVe (global vectors ...

  10. Excel知识点与技巧1

    1.工作区:方便两个工作表之间进行对比 2.工作表标签颜色 3.交换两列的次序 4.快速到达边界:即快速到达第一行或最后一行 5.冻结窗格:可以固定某几行或某几列一直存在于窗口,不会随着往下拉或往右拉 ...