从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. nsq 初学使用日记

    win下更加直观一些,所以不使用liunx 第一步下载 nsq 下载地址 https://github.com/nsqio/nsq.git 使用git clone或者go get 下载下来 第二部 编 ...

  2. 这些MongoDB的隐藏操作你真的都掌握了吗?反正我是刚知道

    背景 最近公司系统还原用户时偶尔会出现部分用户信息未还原成功的问题,最为开发人员,最头疼的不是代码存在bug,而是测试发现了bug,但一旦我去重现,它就不见了.Are you kidding me? ...

  3. Vue2.0 【第二季】第9节 Component 标签

    目录 Vue2.0 [第二季]第9节 Component 标签 第9节 Component 标签 1.我们先在构造器外部定义三个不同的组件,分别是componentA,componentB和compo ...

  4. Vue2.0 【第一季】第8节 v-pre & v-cloak & v-once

    目录 Vue2.0 [第一季] 第8节 v-pre & v-cloak & v-once v-pre 指令 v-cloak 指令 v-once 指令 Vue2.0 [第一季] 第8节 ...

  5. 因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知!

    因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知! volatile 是并发编程的重要组成部分,也是面试常被问到的问题之一.不要向小强那样,因为一句:volati ...

  6. 【Python】2.13学习笔记 数学函数和随机函数

    我死了,今天看课看过头了,忘了发作业,被典明批评 而且化学作业还是瞎搞的,直接就发了 我觉得我已经提前死亡了,现在不死亡,开学也会的 函数 挺容易的,有很多语言之间重合的部分 注意 在使用某些数学函数 ...

  7. Python进阶学习之面向对象

    目录 面向对象 私有属性 面向对象   python也有面向对象的编程,它与C++中的类有点相似.它也只是运算符重载,继承. class Test: num=0 def __init__(self): ...

  8. gulp常用的插件

    参考地址: http://www.cnblogs.com/1wen/p/5421212.html https://my.oschina.net/wolfx/blog/673905 http://www ...

  9. JVM 参数(转)

    Herry灬凌夜  转自:https://www.cnblogs.com/wuyx/p/9627542.html 常用的JVM配置参数 一.Trace 跟踪参数 在Eclipse中,如何打开GC的监控 ...

  10. 玩转控件:扩展Dev中SimpleButton

    何为扩展,顾名思义,就是在原有控件属性.事件的基础上拓展自己需要或实用的属性.事件等等.或者可以理解为,现有的控件已经不能完全满足我(的需求)了.好的扩展会使控件更加完善,实用,好用.不好的扩展,说白 ...