zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    java 流重定向
    Linux下用鼠标滚轮
    AutoPager的简单实现
    App Store Review Guidelines ——苹果大慈大悲啊
    利用CSS3特性巧妙实现漂亮的DIV箭头
    Have you read it before?
    Windows Phone 7上的GPS应用编程详解。
    说一下Path类
    远程截取屏幕内容
    争论VB.NET与C#哪个好?——智商低下的举动
  • 原文地址:https://www.cnblogs.com/Java-Starter/p/9779368.html
Copyright © 2011-2022 走看看