1.Einführung

1.1 Die Einführung des Datenbanksystem

Das Begriff

Daten:Sie verwendet als Beschreibung der Sache

Datenbank:Sie ist organisiert,geteilte Menge von Daten,die lange Zeit im Rechner gespeichert wird

Datenbanksystem:Es beteht aus Datenbank,DBMS(Database Management System),Programm,DBA(Database Administrator),die verantwortlich für Speicherung,Verwaltung,Umgang und Erhalt von Daten ist

1.2 Konzeptionelles Modell

1.2.1 Grundlegendes Modell

Entität(entity):Sie besteht objektiv und kann voneinander unterscheiden

Attribut(attribute):Irgendeine Eigenschaft,den Entität besitzt

Schlüssel(key):Er ist eine Menge,die Entität einzig identifiziert

Entität Form(entity type):Wir bunutzen Entität Name und Attribut Name,um homogene Entität zu abstrahieren,wie Z.B Student(Sno,Name,Geschlecht)

Entität Menge(entity set):Sie ist Menge von homogene Entität,wie Z.B alle Studenten ist eine Entität Menge

Beziehung(Relationship):Beziehung besteht aus one to one,one to many,many to many Beziehung usw.

1.2.2 Hierarchisches Datenbannkmodell

Ähnlich wie Baum Struktur

Nur eine Wurzelknoten

Es besteht aus one to one,one to many

1.2.3 Netzwerkdatenbankmodell

Es ist erlaubt,dass Knoten mehrere Elternknoten und Kindknoten haben

1.2.4 Ralationales Modell

Relationale Datenbank verwendet Relationales Modell als Organisationsmethode der Daten

Grundlegendes Begriff:

Beziehung(relation):Eine Beziehung ist nämlich Tabelle

Tuple:Eine Zeile in der Tabelle

Attribut(Attribute):Eine Glied in der Tabelle

Schlüssel(key):Irgendeine Attribut in der Tabelle,es kann einzige Tuple bestimmen

Domain:Domain ist Wertbereiche irgendeines Attribut

Komponent:Eine Attributwerte des Tuple

Ralationales Muster:Beschreibung der Beziehung,wird als

Beziehungname(Attribut1,Attribut2,···,Attributn)

geschrieben

1.3 Der Aufbau des Datenbanksystems

1.Schema

Schema ist logische Struktur allgemeiner Daten und Beschreibung der Eigenschaften bei der Datenbank,ist publik Datensicht von alle Benutzer

2.External Schema

Es ist logische Struktur und Beschreibung der Eigenschaften bei allem Datenbank,es ist sichtbar von Datenbankbenutzer

3.Internal Schema

Eine Datenbank hat nur eine internal Schema,es ist physische Struktur der Daten und Beschreibung der Speicherungmethode.

2.Relationale Datenbank

2.1 Formale Definition

Grundlegendes Begriff

Schlüsselkandidaten(candidate key):Irgendeine Entität Gruppe kann einzige Tuple bestimmen,aber deren Menge kann es nicht schaffen

Hauptcode(primary key):Eine Beziehung hat manche Schlüsselkandidaten,wählen wir eine von der Beziehung als Hauptcode aus

Schlüsselattribut(prime attribute):Alle Attribute von Kandidatencode

All key:Alle Attribute von relationales Modell ist Kandidatencode von dieses Modell

2.2 Beziehungsintegrität

2.2.1 Entitätsintegrität

Falls Attribut A Hauptcode von Beziehung ist,A kann nicht NULL sein

2.2.2 Referenzielle Integrität

2.3 Relationale Algebra

1.Selektion(selection)

Bei der Beziehung wählen wir Tuple,das vorgegebene Beziehung entsprechen,aus

δF(R) = {t|t∈R∩F(t)='wahr'}

Unter F versteht man Auswahlsbeziehung,es ist logische Ausdruck

Z.B. recherchieren wir Studenten von IS

δSdept='IS'(Student)

2.Projektion(projection)

Projektion von Beziehung R bedeutet,dass wir von R einige Attribute Glied auswählen,um neue Beziehung zummenzusetzen

A(R) = {t[A]|t∈R}

A ist Attribute Glied von R

Z.B. recherchieren wir Name und Sdept von Studenten

Sname,Sdept(Student)

3.Join

A und B sind vergleichbare und gleiche Attribute Gruppe von R und S,θ ist Vergleich Operator

  • Aequivalente Join:Join Rechnung,dass θ "=" ist
  • Natural Join:Es ist eine spezielle  Aequivalente Join.Das heisst,die Komponenten,die in zwei miteinander Beziehungen vergleichen,muessen gleiche Name des Attribut sein.Gleiche Attribut Glied soll beseitigt bei dem Ergebnis werden
  • Dangling Tuple:Die Tuple wird verwahrt,weil publik Attribut Gruppe nicht gleich sind
  • Outer Join:Dangling Tuple wird verwahrtbei der Beziehung des Ergebnis
  • Left outer Join:Nur dangling Tuple linker Beziehung wird verwahrt
  • Right outer Join:Nur dangling Tuple rechter Beziehung wird verwahrt

3.Relationale Daten Standardsprache SQL

3.1 Daten Definition

3.1.1 Schema

1.Definition des Schemas

CREATE SCHEMA<模式名> AUTHORIZATION<用户名>

2.Loeschung des Schemas

DROP SCHEMA<模式名><CASCADE|RESTRICT>

3.1.2 Tabelle

1.Difinition grundlegender Tabelle

CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束条件]

           [,<列名><数据类型>[列级完整性约束条件]]

           ···

           [,<表级完整性约束条件>]);

Z.B:

2.Korrigieren grundlegende Tabelle

ALTER TBALE<表名>

[ADD [COLUMN]<新列名><数据类型>[完整性约束]]

[ADD<表级完整性约束>]

[DROP[COLUMN]<列名>[CASCADE|RESTRICT]]

[DROP CONSTRAINT<完整性约束名>[RESTRICT|CASCADE]]

[ALTER COLUMN<列名><数据类型>];

3.Loeschung des grundelegender Tabelle

DROP TABLE <表名> [RESTRICT|CASCADE]

3.1.3 Der Index

1.Gruendung des Index

CREATE [UNIQUE][CLUSTER] INDEX <索引名>

ON <表名>(<列名>[<次序>][,<列名>[<次序>]]···);

2.Korrigieren den Index

ALTER INDEX <旧索引名> RENAME TO <新索引名>;

3.2 Datenabfrage

SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>]···

FROM <表名或视图名> [,<表名或视图名>···]|(<SELECT 语句>) [AS] <别名>

[WHERE <条件表达式>]

[GROUP BY <列名1> [HAVING <条件表达式>]]

[ORDER BY <列名2> [ASC|DESC]];

3.3 Datenaktualisierung

3.3.1 Insert Tuple

INSERT INTO <表名>[<属性列1>][,<属性列2>···] VALUES(<常量1>[,<常量2>]···)

3.3.2 Insert Ergebnis Teilabfrage(Subquery)

INSERT INTO <表名>[<属性列1>][,<属性列2>···] 子查询;

3.4 Korrigieren Daten

UPDATE <表名>

SET <列名> = <表达式>[,<列名>=<表达式>]···

[WHERE<条件>];

3.5 Loeschung der Daten

DELETE FROM <表名>

[WHERE<条件>];

3.6 Ansicht(View)

3.6.1 Definition der Ansicht

CREATE VIEW <视图名>[(<列名>[,<列名>]···)]

AS <子查询>

[WITH CHECK OPTION]

Wenn man Daten aktualisiert,insert,loescht,WITH CHECK OPTION kann Beziehung von Teilabfrage automatisiert hinzufuegen

4.Sicherheit der Datenbank

4.1 Sicherheitskontrolle der Datenbank

4.1.1 Ermächtigung:Grant und Revoke

1.GRANT

GRANT <权限>[,权限]···

ON <对象类型><对象名>[,<对象类型><对象名>]···

TO <用户>[,<用户>]···

[WITH GRANT OPTION]

Falls "WITH GRANT OPTION" festgelegt wird,der Benutzer,der irgendeine Kompetenz erhalten,kann diese Kompetenzen andere Benutzer ermächtigen

2.REVOKE

REVOKE<权限>[,<权限>]···

ON <对象类型><对象名>[,<对象类型><对象名>]···

FROM <用户>[,<用户>]···[CASCADE|RESTRICT]

4.1.2 Die Rolle

1.Definition der Rolle

CREATE ROLE <角色名>

2.Ermächtigung der Rolle

GRANT <权限>[,<权限>]···

ON <对象类型>对象名

TO <角色>[,<角色>]···

3.Ermächtigen andere Rolle und Benutzer Rolle

GRANT <角色1>[,<角色2>]···

TO <角色3>[,<用户1>]···

[WITH ADMIN OPTION]

Falls "WITH ADMIN OPTION" festgelegt wird,der Benutzer order die Rolle,der irgendeine Kompetenz erhalten,kann diese Kompetenzen andere Rolle ermächtigen

4.Revoke der Kompetenz

REVOKE <权限>[,<权限>]···

ON <对象类型><对象名>

FROM <角色>[,<角色>]···

5.Relationale Datentheorie

5.1 Normalisierung

Eine relationale Beziehung niedriges Niveau kann durch Schema Decomposition in mehrere relationale Beziehung höheres Niveau umsetzen

Dieses Prozess wird als Normalisierung(Normalization) bezeichnet

5.1.1 Erste Normalform(1NF)

Jede Komponenten kann nicht eingeteilt werden

5.1.2 Zweite Normalform(2NF)

Falls R∈1NF,jede Nichtschlüsselattribut ist äbhangig von Schlüsselkandidaten,dann R∈2NF

wie Z.B. SLC(Sno,Cno),Sdept und Sloc ist äbhangig von Sno,nicht von Cno,dann es entspricht nicht zweiter Normalform

5.1.3 Dritte Normalform(3NF)

Falls R∈2NF,und Dritte Normalform ist kein Nichtschlüsselattribut von einem Schlüsselkandidaten transitiv abhängig.

wie Z.B. Stu(Sno,Sdept,Sloc),Sno bestimmt Sdept,Sdept bestimmt Sloc,Eine Beziehung der Sno->Sdept->Sloc besteht,sie entspricht nicht Dritter Normalform

5.1.4 BCNF(Boyce Codd Normal Form)

Falls R∈3NF,es gibt kein Teiläbhangigkeit und transive Äbhangigkeit von Schlüsselattribut zu Schlüsselkandidaten

Datenbanksystem的更多相关文章

  1. APS审核经验+审核资料汇总——计算机科学与技术专业上海德语审核

    1.APS是什么 德国驻华使馆文化处留德人员审核部(简称APS)成立于2001年7月,是由德国驻华使馆文化处和德意志学术交流中心(DAAD)在北京共同合作成立的服务机构. APS是中国学生前往德国留学 ...

随机推荐

  1. 对virtual虚方法的理解

    对virtual虚方法的理解 https://www.cnblogs.com/u3ddjw/p/6676485.html

  2. 自己从0开始学习Unity的笔记 V (C#的数组练习)

    今天练习了数组输入,先从最简单的开始,因为我输入完这些之后,觉得应该有更简单的方法,先来介绍一下我做的练习代码 //做一个最多能容纳10个数字的,用户可以输入任意1-10个数字,判断长度,输出数字 ] ...

  3. Kafka与.net core(三)kafka操作

    1.Kafka相关知识 Broker:即Kafka的服务器,用户存储消息,Kafa集群中的一台或多台服务器统称为broker. Message消息:是通信的基本单位,每个 producer 可以向一个 ...

  4. .net core 应用Nancy快速实现轻量级webapi

    目前大量数据接口均采用API的方式为各类应用提供数据服务.Nancy是.net下实现webapi的一个轻量级的框架,可以快速搭建一个api服务环境,是一种快速建立api服务的不错选择. 本文记录.ne ...

  5. java invoke(转摘)

      JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的以及动态调用对象的方法的功能称为java语言的反射机制 ...

  6. python网络编程--FTP上传文件示例

    1.基础版(供学习了解原理使用,low) server服务端 import socket import struct import json server = socket.socket() ip_p ...

  7. python--中的文件操作

    1.文件操作 把文件打开 open 打开 f = open ('文件路径',mode='模式',encoding='编码格式') #打开一个文件操作的时候取到的是一个句柄 读取的方法 . read() ...

  8. JZOJ6096 森林

    题目传送门 Description ​我们定义对一棵树做一次变换的含义为:当以 1 号节点为根时,交换两个互相不为祖先的点的子树: ​一棵树的权值为对它进行至多一次变换能得到的最大直径长度: ​初始时 ...

  9. JavaWeb -JDBC使用(数据库-javaweb连接)

    使用JDBC四个大类 1. DriverManager:管理jdbc驱动 2. Connection:连接(通过DriverManager产生) 3. Statement/PreparedStatem ...

  10. “全栈2019”Java多线程第二章:创建多线程之继承Thread类

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...