从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. docker学习之路

    环境 : ubuntu 16.4 下载docker 首先使用命令行下载 docker wget -qO- https://get.docker.com/ | sh 启动 下载完成之后进行一个启动,但是 ...

  2. Git的使用流程及常用命令汇总

    Git是一个很好用的版本控制系统,本文对于常用的一些命令进行了汇总. 创建一个存储仓库(repository) https://github.com/右上角点击"+"号,New r ...

  3. 结巴分词demo

    #encoding=utf-8 from __future__ import unicode_literals import sys sys.path.append("../") ...

  4. POJ 1879

    栈和队列的综合应用,利用栈和队列分别模拟分,5分,时槽,以及小球队列 利用求出一天后的置换可以求出周期,进而求出最大公约数(可以利用矩阵的角度,也许可以简化,因为每次都是乘上一个相同的置换矩阵) 要注 ...

  5. Scrapy同时启动多个爬虫

    1. 在项目文件夹中新建一个commands文件夹 2. 在command的文件夹中新建一个文件 crawlall.py 3.在crawlall.py 中写一个command类,该类继承 scrapy ...

  6. 1分钟,带你上手“Markdown”语法

    前言 Markdown 是一种轻量级的标记语言,有 John Gruber 以及Aaron Hillel Swartz 一起编写.Aaron Hillel Swartz 是一个极富传奇的黑客,有兴趣可 ...

  7. Mol Cell Proteomics. | Mapping Spatio-temporal Microproteomics Landscape in Experimental Model of Traumatic Brain Injury Unveils a link to Parkinson’s Disease

    期刊:Molecular & Cellular Proteomics 发表时间:June 16, 2019 通讯作者:Michel Salzet,Isabelle Fournier 一.  概 ...

  8. eclipse 配置tomcat运行环境

    eclipse环境下如何配置tomcat,并且把项目部署到Tomcat服务器上 1.打开Eclipse,单击“Window”菜单,选择下方的“Preferences”. 2.单击“Server”选项, ...

  9. python之路---装饰器函数

    阅读目录 楔子 装饰器的形成过程 开放封闭原则 谈装饰器主要功能和装饰器固定结构 带参数的装饰器 多个装饰器装饰一个函数 返回顶部 楔子 作为一个会写函数的python开发,我们从今天开始要去公司上班 ...

  10. [bash]http serevr部署wordpress

    #!/bin/bash # echo "close selinux…" sed -i 's/Enforcing/disabled/' /etc/sysconfig/selinux ...