数据表,你美我怎不爱

我们为什么要学数据表?

这个回答其实很简单,只要想一想就可以。

解析:

如果没有数据表,那么关键字、主键、索引等也就无从谈起。在数据库画板中可以显示数据库中的所有数据表(即使不是用PowerBuilder创建的表),创建数据表,修改表的定义等数据表是数据库中一个非常重要的对象,是其他对象的基础。

数据表(或称表)是数据库最重要的组成部分之一。数据库只是一个框架,数据表才是其实质内容。如“教学管理系统” 中,教学管理”数据库包 含分别围绕特定主题的6个数据表:“教师”表“课 程”表、“成绩”表、“学生”表、“班级”表和 “授课”表,用来管理教学过程中学生、教师、课程等信息。这些各自独立的数据表通过建立关系被联接起来,成为可以交叉查阅、一目了然的数据库。

建表原则

解析:

为减少数据输入错误,并能使数据库高效工作,表设计应按照一定原则对信息进行分类,同时为确保表结构设计的合理性,通常还要对表进行规范化设 计,以消除表中存在的冗余,保证一个表只围绕一个主题,并使表容易维护。

信息分类原则 

解析:

每个表应该只包含关于一个主题的信息

当每个表只包含关于一个主题的信息时,就可以独立于其他主题来维护该主题的信息。例如,应将教师基本信息保存在“教师”表中。如果将这些基本信息保存在“授课”表中,则在删除某教师的授课信息,就会将其基本信息一同删除。

表中不应包含重复信息

表间也不应有重复信息 每条信息只保存在一个表中,需要时只在一处进行更新,效率更高。例如,每个学生的姓名、性别等信息,只在“学生”表中保存,而“成绩”中不再保存这些信息。

说这么多了,你看看这些表,漂亮吧。

接下来介绍数据表的内容:

四种完整性约束

实体完整性:针对数据行设置的完整性

域完整性:针对数据列设置的完整性。

引用完整性:外键约束

自定义完整性:为了满足我们的业务需求,我们自己量身定制的完整性约束,一般

通过存储过程。

SQL Server中数据类型

int:存储整型数字

numeric(18, 2):存储小数

decimal(18, 2):存储小数

nvarchar():存储文字

只要是保存字符串就用nvarchar()类型,n代表的unicode编码,该编码是国际通用编码,可以避免乱码的出现。

var代表长度可变。表中该列真正存储的内容就占它本身的空间,而不会占用该列通过(20)设置的长度所占用的空间。

varchar():存储可变长度的文本

char(4):存储固定长度的文本

nvarchar(Max)

DateTime:保存日期和时间

照片:image(二进制存储)

存储姓名:nvarchar(20)

--存储年龄:int

--存储性别:bit

--存储一篇文章:nvarchar(max)

注意:

使用ntext或者是text,因为text和ntext读取效率非常低。

为表建立约束

主键约束

一张表一定要设置主键

非空约束

03.默认值约束

04.check约束

05.外键约束

注意:外键约束只能设置在外键表中

主键:
用于区别其他实体,在同一个表中主键的值不能重复

外键:

在一张表表A中某列是主键,但是在另外一张表表B中该列不是主键。那么表A称为主键表,表B称为外键表。

主外键建立后注意事项

当主表中没有对应的记录时,不能将记录添加到子表

——成绩表中不能出现在学员信息表中不存在的学号

不能更改主表中的值而导致子表中的记录孤立

——把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变

子表存在与主表对应的记录,不能从主表中删除该行

——不能把有成绩的学员删除了

删除主表前,先删子表

——先删学员成绩表、后删除学员信息表

通配符:

解析:  “_”:有且只有一个字符。

“%”:任意个的任意字符。

 以上两种特殊字符一般与Like一起使用。

                                            这些都是我总结的核心内容,还是很辛苦的,有漏的地方望大家补充补充

时间: 2024-10-29 19:10:13

数据表,你美我怎不爱的相关文章

MySQL(九)之数据表的查询详解(SELECT语法)二

上一篇讲了比较简单的单表查询以及MySQL的组函数,这一篇给大家分享一点比较难得知识了,关于多表查询,子查询,左连接,外连接等等.希望大家能都得到帮助! 在开始之前因为要多表查询,所以搭建好环境: 1)创建数据表suppliers 前面已经有一张表是book表,我们在建立一张suppliers(供应商)表和前面的book表对应. 也就是说 让book中s_id字段值指向suppliers的主键值,创建一个外键约束关系. 其实这里并没有达到真正的外键约束关系,只是模拟,让fruits中的s_id中

SQL基础:数据表的创建

1. 先选择创建表所在的数据库 2. 创建表 3. 查看表是否创建成功 4. 主键:要求主键列的数据唯一,且不允许为空.主键能够唯一的标识表中的每一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度. 主键分为:单字段主键和多字段联合主键. 4.1 单字段主键 4.1.1 定义方式一:在定义列的同时指定主键 4.1.2 定义方式二:在定义完所有的列之后指定主键 4.2 多字段联合主键 5. 使用外键约束 外键用来在两个表之间建立连接,可以是一列或多列.一个表的外键可以是

数据库设计之数据库,数据表和字段等的命名总结

数据库命名规则: 根据项目的实际意思来命名. 数据表命名规则: 1.数据表的命名大部分都是以名词的复数形式并且都为小写: 2.尽量使用前缀"table_": 3.如果数据表的表名是由多个单词组成,则尽量用下划线连接起来:但是不要超过30个字符,一旦超过30个字符,则使用缩写来缩短表名的长度: 字段命名规则: 1.首先命名字段尽量采用小写,并且是采用有意义的单词: 2.使用前缀,前缀尽量用表的"前四个字母+下划线组成": 3.如果字段名由多个单词组成,则使用下划线来进

php 实现 mysql数据表优化与修复

<?php $link = mysql_connect("localhost", "root", "") or die("errro:" . mysql_error()); mysql_query("set names utf8"); mysql_select_db("数据库名", $link); /* // 展示数据表相关信息 $sql = "show table st

oracle的学习 第二节:创建数据表

学习内容: A.创建数据库和表空间 B.创建用户和分配权限 C.创建数据表 一.创建数据库和表空间 (一)SQL语言的基本概念 1.概念 高级的结构化查询语言:沟通数据库服务器和客户的重要桥梁. PL/sql语言是结构化的查询语言. 2.分类: 数据定义语言  :create  alter  drop 数据操作语言: insert update delete 数据控制语言:select (二)创建数据库的两种方式 方式一:图形界面: 方式二:create  Datebase命令方法.(常用) 具

SQL Server 数据表复制

一.复制 A 的内容到新表 说明: 有数据表 A, 希望将他的内容导出到另一张表 B,此时 B 并未创建,希望在导出的同时创建表 B. SELECT * INTO B [IN externaldatabase]  FROM A 二.复制 A 的内容到已有表 B 说明: 有数据表 A, 希望将他的内容导出到另一张表 B,此时 B 已创建,希望在导出的同时创建表 B. insert into B (B_column_1, B_column_2, ...) select A_column_1, A_c

数据库系列学习(二)-数据表的创建和管理

1.数据类型 A:整数类型 bit,int,smallint,tinyint [与操作系统位数有关] B:数值类型 decimal,numeric,money,smallmoney,float,real [可存小数] C:字符相关类型 char,varchar,text,nchar,nvarchar,ntext D:日期时间类型 datetime(精确到0.01秒),smalldatetime(精确到分钟),timestamp E:二进制类型 image [经图片,视频转为二进制,保存到数据库]

【SQL 代码】SQL复制数据表及表结构

select * into 目标表名 from 源表名 insert into 目标表名(fld1, fld2) select fld1, 5 from 源表名 以上两句都是将'源表'的数据插入到'目标表',但两句又有区别的: 第一句(select into from)要求目标表不存在,因为在插入时会自动创建. 第二句(insert into select from)要求目标表存在,由于目标表已经存在,所以我们除了插入源表的字段外,还可以插入常量,如例中的:5. 示例 目前有数据如下: 现在要将

修改数据表——添加删除列

修改数据表的操作,无非就是列的增加.列的删除.约束的增加和约束的删除. 修改数据表 一.添加单列的语法结构 ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name] 例如:在users表中添加一个age列,如果没有指定这个列的位置,那么它将位于所有列的最下边.如下图. FIRST的意思,将你写的这一列,放在最前头. AFTER的意思,将你写的这一列,放在指定列的后面. 若省略FIRST和