`

数据库基础

阅读更多

持久化方法: 

方法

优点

缺点

其他

 java序列化

 

没有事物功能;所有类有唯一的1个版本序列号,不同对象不同; 

 

 Extensible Markup Language(xml)

 

没有事物功能;搜索能力差; 

 

 数据库

 

 

 

 数据库发展过程 

 层次模型

 

 网状模型

 

 关系模型

 

 对象模型

 数据和数据的方法一起存储。db4o

 

 基本术语

实体——why——table——具有区分其他事物的属性并与其他实体有联系的事物

属性——column——描述数据(属性名称,数据类型)

关系——————

主键——业务主键(有业务含义)+逻辑主键(自动生成的)

外键——主表的外键来自从表的主键。

事物功能——对于对象,要么全部保存,要么全部不保存——在操作中,当操作整体完成后,才一起保存每步作的修改。

一个业务系统必须有对立的数据库

索引——在查询大量数据时,能够提高查询效率——索引提高select语句的速度,降低delete、update、insert语句执行速度——一个表可以有多个索引,一个索引作用于多个列。——主键/唯一约束自动创建的索引依附与约束。                                                                                                                                                                                                                                   

 

数据库里的数据类型

字符串:

char——定长——char最大长度为8KB.——查询效率高

varchar(x)——变长——没有初始长度——节约空间


数字:

int 4——整数;

decimal(p,s) 2~17——小数(进1法)

p——值的总位数,默认为18。s——小数点后的位数,默认为0。

布尔:

 


日期:

datetime 8   getdate()

表之间的关系类型——关系是双向的

 

关系类型

图例

概念

实例

 一对一

实线

 主表的一行与子表中0或1行相关

居民与身份证

 一对多

 虚线+箭头——将父类的主键,作为子类的外键。

 

 父亲与儿子

 多对多

 复合主键+自动编号——增加第3张表——中间表、关系表

 

 

 

 约束(constraint)——检查录入数据正确否

数据完整性=可靠性+准确性=实体完整性(unique)+域完整性+引用完整性(foreign key)+自定义完整性

NOT NULL

 不允许为空

 Name varchar(10) not null

 DEFAULT

 默认值通过方法、系统变量获得

 phoneNo varchar(10) default '不知电话'——字符串用单引号

 UNIQUE

给定列的所有值唯一;允许为空;可以有多个唯一约束 

 phoneNo varchar(10) unique

 PRIMARY KEY()

 不能为空;主键约束和其唯一的索引同时存在;

 phoneNo varchar(10), constraint MyPrimaryKey——指明约束的名字  primary key(Name)

 CHECK()

数据变更时起作用;单列可有多个该约束; 

 age int,constraint checkAge check(age between 10 and 100)

 IDENTITY(m,n)

 @@IDENTITY——得到当前记录的编号值;从m开始,每次自动+n,默认m=m=1;

 Friend_id int identity

 FOREIGN KEY() references()

 该约束连接的2个列是相同的数据类型;要删除被引用的表,先去掉引用关系。

 PhoneNo varchar(10) ,foreign key(friendID) references Friend(friendID)

 

 

 

操作关系型数据库和数据的3种语言

数据定义语言(DDL)——创建/删除数据库/表/索引、修改表(alter)、重命名表

create/drop database 名称;

create table 表名( 列名 数据类型 约束 );create table 工资表(自动编号 int identity primary key,学号 int,工资 decimal(10,2),日期 datetime);

*表的第3字段来自其它字段的组合(数据类型一样)——create   table   zz(a   int,b   int,c   as   a+b)

*临时表(#)#——当前连接临时表;##——全局临时表。

alter 对象对象名命令语句

alter table t_student add s_age int;——增加

alter table t_student alter column s_id int not null;——修改

alter table t_student drop constraint fk_stu_cla;——删除
alter table t_class add constraint pk_cla primary key(c_id);

truncate table 表名

create index idx_stu_age on 学生(年龄);
drop index idx_stu_age

*表的完整路径写法——数据库名.dbo 表名==数据库名.. 表名

数据操作语言(DML)——插入、更改、删除、查询

insert into 表名(字段名) values(数值)insert into 学生(学号,班级编号,姓名) values (1,101,'a');

update 表名 set KV对 where 条件update 学生表 set 分数=70 where 学号=100;


delete from 表名 where 条件delete from 班级 where 班号=100;

Drop

 内容和结构同时删除;不可回滚;该表的存储过程/函数将保留,但变为invalid.

Delete

 选择性删除内容(引用完整性);可回滚;

truncate

 只无差别删除内容,留结构等;不可回滚,无触发——物理删除;

 速度,一般来说: drop>; truncate >; delete

 

select * from 表名 select xs.学号,姓名,工资 from 学生表 xs,工资表 gz where xs.学号=gz.学号——将表在内存中合并为一个显示学号、姓名、工资的新表。

事物控制语言(tcl)

begin transaction——开启事物

1.commit:确认数据库的修改——以成功的方式结束当前事务

2.rollback:回滚让数据回到事务开始之前的位置

3.savepoint  segement  trigger——设置保存点,清除数据库修改的部分记录。

 

一个业务开始

  事务开始

  操作1 A帐户修改-500

  操作2 B帐户修改+500

  事务开始

一个业务结束

 

数据控制语言(DCL)——访问权限(grant<——>revoke)

 1.grant——权限授予。

2.revoke——权限回收

 

 

 

 

 

分享到:
评论

相关推荐

    《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf

    《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle...

    MySQL数据库基础实例教程(第2版)教学大纲.pdf

    《MySQL数据库基础实例教程(第2版)》课程作为专业必修课,不仅涵盖了数据库的基础理论知识,还注重实践技能的培养,确保学生能够胜任未来职业岗位的需求。 ### 数据库基础知识 课程的第一部分聚焦于数据库的基础...

    数据库基础与实践技术课件

    "数据库基础与实践技术课件"是一个全面介绍数据库基础知识和技术的资源集合,适合初学者和有一定经验的IT专业人士。以下是对这些课件内容的详细解读: 1. **SQL Server 2008基础**:这是数据库管理系统的基础部分,...

    Oracle数据库基础教程[孙风栋等编著][习题解答

    本教程《Oracle数据库基础教程》由孙风栋等编著,旨在帮助初学者系统地理解和掌握Oracle数据库的基本概念、操作以及应用。 教程中的习题解答部分是学习过程中的重要辅助资料,它可以帮助读者检验自己的理解程度,...

    Oracle数据库基础教程课后习题答案

    "Oracle数据库基础教程课后习题答案" Oracle数据库基础教程课后习题答案是《Oracle数据库基础教程》的配套习题答案,涵盖Oracle 10g的基础知识点。本资源对Oracle数据库的逻辑结构、物理结构、内存结构、事务处理...

    Oracle10g数据库基础教程(孙凤栋)习题答案

    本教程《Oracle10g数据库基础教程》由孙凤栋主编,旨在为初学者提供全面、深入的Oracle数据库知识。教程内容涵盖数据库概念、SQL语言、数据库管理、表空间、索引、备份与恢复等多个核心主题。 一、数据库概念 ...

    数据库基础知识概述.pptx

    数据库基础知识概述 本篇资源摘要信息将对数据库基础知识进行概述,主要涵盖数据库的基本概念、组成、安装与系统结构、数据库及表的操作、日常使用与管理、语言、性能问题等方面。 数据库基础知识 数据库系统是指...

    数据库基础知识PPT

    数据库基础知识是IT领域中至关重要的一个部分,它涵盖了数据的组织、存储、管理和共享等多个方面。本篇将详细解析数据库的基础概念,包括数据处理、数据库、数据库管理系统(DBMS)和数据库系统(DBS),以及数据...

    数据库基础教程[顾韵华][课后习题解答]

    本教程“数据库基础教程[顾韵华][课后习题解答]”由专家顾韵华编著,提供了对数据库基础知识的深入理解和实践应用的指导。这份资料的价值在于其详尽的课后习题解答,帮助学习者巩固理论知识,提升解决问题的能力。 ...

    MySQL数据库基础实例教程(第2版)(微课版)-教学课件.zip

    MySQL数据库基础实例教程是针对初学者的一套系统性学习资源,尤其适合想要了解数据库管理和开发的人群。本教程分为多个章节,涵盖了从基础到进阶的各个关键领域,旨在通过实例教学来帮助学习者深入理解MySQL的核心...

    [Oracle11g数据库基础教程(第2版)][孙风栋][程序源代码]

    《Oracle11g数据库基础教程(第2版)》是由知名数据库专家孙风栋编著的一本关于Oracle数据库系统的入门教程。这本书旨在帮助初学者掌握Oracle11g的基本概念、安装配置、数据管理以及SQL查询语言等核心知识。源代码...

    Access2010数据库基础教程教案.pdf

    本文将根据提供的“Access2010数据库基础教程教案.pdf”,深入解析Access2010的数据库基础理论与操作实践。 首先,我们要了解数据库基础理论。在信息时代,信息、数据处理的定义与重要性不言而喻。数据库系统作为一...

    数据库基础教程 电子版

    数据库基础教程电子版 数据库基础教程是数据库系统的基础知识教程,涵盖了数据库系统的发展、数据库管理系统的结构、数据库模型的发展、数据库设计等重要知识点。本资源摘要信息为数据库基础教程电子版的知识点总结...

    数据库基础知识点介绍

    数据库基础知识点介绍: 数据库系统概述: 数据库系统是现代信息技术中不可或缺的一部分,它的发展起源于20世纪60年代末,随着计算机技术的进步而不断演进。数据库技术的出现不仅推动了计算机技术在各行各业的应用...

    oracle11g数据库基础教程第2版重要知识点总结.docx

    .oracle 11g 数据库基础教程第 2 版重要知识点总结 以下是 oracle 11g 数据库基础教程第 2 版重要知识点总结的知识点: 第一章 Oracle 11g 数据库安装与配置 * Oracle 11g 数据库安装步骤 * Oracle 11g 数据库...

    数据库基础知识数据库基础知识.doc

    数据库基础知识数据库基础知识

    数据库基础概念 课件

    数据库是存储和组织数据的系统,它提供了高效的数据管理和访问机制。...理解和掌握这些概念对于理解数据存储和处理的本质至关重要,无论是开发人员还是数据分析人员,都需要扎实的数据库基础来支撑他们的工作。

    第1章 Oracle数据库基础

    根据给定的文件信息,我们需要关注标题“第1章 Oracle数据库基础”及其内容部分,尽管内容部分并不清晰连贯,但我们可以提炼出与Oracle数据库相关的基础知识点。 首先,Oracle数据库作为当今世界范围内广泛使用的...

Global site tag (gtag.js) - Google Analytics