Datenbanksystem
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的更多相关文章
- APS审核经验+审核资料汇总——计算机科学与技术专业上海德语审核
1.APS是什么 德国驻华使馆文化处留德人员审核部(简称APS)成立于2001年7月,是由德国驻华使馆文化处和德意志学术交流中心(DAAD)在北京共同合作成立的服务机构. APS是中国学生前往德国留学 ...
随机推荐
- .NET框架源码解读之启动CLR
前面提到在SSCLI环境里运行.NET程序的时候,执行的命令类似java程序的执行过程,即通过clix程序解释执行.net程序.这个过程看起来跟在windows环境下执行.net程序表面上看起来不一样 ...
- Hibernate 之HQL数据查询
1. HQL简介 HQL是面向对象的查询语言,与SQL查询语言相比,虽然在语法上类似,都是运行时进行解析,但HQL并不像SQL那样操作的是数据表,列等数据库对象,HQL所操作的对象是类,对象,属性等. ...
- XEvent--Demo--使用XEvent来捕获在数据库DB1上发生的锁请求和锁释放
--==============================================================--使用XEvent来捕获在数据库DB1上发生的锁请求和锁释放--=== ...
- solr特点三: defType(查询权重排序)
Solr的defType有dismax/edismax两种,这两种的区别,可参见:http://blog.csdn.net/duck_genuine/article/details/8060026 e ...
- C#实现AStar寻路算法
AStar寻路算法是一种在一个静态路网中寻找最短路径的算法,也是在游戏开发中最常用到的寻路算法之一:最近刚好需要用到寻路算法,因此把自己的实现过程记录下来. 先直接上可视化之后的效果图,图中黑色方格代 ...
- 流与文本文件操作(C#)
1.流的基本概念 流是任何输入输出库的必不可少的组成部分.当你的程序需要从一个外部数据源(比如,files.other PCs或servers等)读或者写数据时,就需要用到流streams. 流是由一 ...
- c#设计模式之代理模式(Proxy Pattern)
引言 代理这个词语,大家在现实世界已经频繁的接触过,例如火车站代理售票点,因为这些代理售票点的存在,我们不必要去火车站的售票处就可以查询或者取到火车票.代理点本身是没有能力生产车票的,我们在代理处享受 ...
- ASP.NET中Onclick和OnserverClick事件的区别 (转)
对于服务器按钮控件(即<asp:Button>类型的按钮): 服务器响应事件:OnClick 客户端响应属性:OnClientClick 对于html按钮控件(即<input typ ...
- Fiddler关闭后打不开网页
今天项目系统测试的时候,CS客户端的Restful请求都失败,但是实际上的服务是正常开启的,马上通过cmd指令ping了一下服务,正常:再用telnet试了一下端口,也是正常.不过随后发现在这台电脑上 ...
- How to manage local libraries in IntelliJ IDEA
如何在 IntelliJ IDEA 中管理本地类库 一般来说,如果项目是基于 Maven 管理工具的,我们会在 pom.xml 中添加 dependency 来管理依赖.但有时也会遇到要用的类库不在 ...