从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. django学习笔记 多文件上传

    习惯了flask 再用django 还是不太习惯  好麻烦 配置文件也忒多了 不过还是要学的 之前只能一个一个文件长传,这次试试多个文件 不适用django的forms创建表单 直接在html中使用 ...

  2. requests.exceptions.SSLError报错

    requests.exceptions.SSLError: HTTPSConnectionPool(host='www.baidu.com', port=443): Max retries excee ...

  3. 数据采集实战:通过Python获取和分析Google趋势中Covid-19的关注程度

    在传染病研究领域,社交媒体数据已被证明可作为预测感冒和流感季节的发作和进展的指标.在本文中,我们将使用Google Trends API来衡量与冠状病毒的状态.我们将使用python谷歌趋势API p ...

  4. 测试必知必会系列- Linux常用命令 - cd

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html 如何进 ...

  5. list的常用方法

    注:lst为定义的列表变量,如:lst = [1, 2, 3, 4, 5] 增: 1.  lst.append()  末尾追加 lst = [1, 2, 3, 4, 5, 6] lst.append( ...

  6. Android 开发技术周报 Issue#273

    新闻/News Android 11有新玩法:双击手机背部截屏/进入多任务界面 Android 11 DP2证实了类似AirDrop的附近文件分享功能 谷歌发布Camera Go:即使入门机也能有出色 ...

  7. C++中 string 中的方法的使用详解

    string 字符串在所有的语言中都非常重要,c++也不例外,接下来我们将介绍string中的常用方法 1. size() 和 length() 函数 : 他们返回字符串的真实长度,且不会因为空格而截 ...

  8. c# 使用Newtonsoft.Json解析JSON数组

    一.获取JSon中某个项的值 要解析格式: [{"VBELN":"10","POSNR":"10","RET_ ...

  9. web----HTML(HTML的概念)

    ##HTML 1.概念:最基础的网页开发语言 *Hyper Text Markup Lanugage 超文本标记语言 *超文本:超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本. ...

  10. Slam笔记I

    视觉Slam笔记I 第二讲-三位空间刚体运动 点与坐标系: 基础概念: 坐标系:左手系和右手系.右手系更常用.定义坐标系时,会定义世界坐标系,相机坐标系,以及其他关心对象的坐标系.空间中任意一点可由空 ...