https://de.wikipedia.org/w/api.php?action=feedcontributions&feedformat=atom&user=84.84.72.5Wikipedia - Benutzerbeiträge [de]2025-11-22T05:42:01ZBenutzerbeiträgeMediaWiki 1.46.0-wmf.3https://de.wikipedia.org/w/index.php?title=Datenbankdesign&diff=58082918Datenbankdesign2009-03-19T13:18:42Z<p>84.84.72.5: /* Software */</p>
<hr />
<div>[[Image:Datenbankdiagram.png|thumb|120px|Datenbankdiagramm]]<br />
'''Datenbankdesign''' ist das Planen und Erstellen einer [[Datenbank]]. Da es eine Menge unterschiedlicher Datenbankentypen gibt, fällt eine solche Planung auch typischerweise unterschiedlich aus. <br />
<br />
== Design von relationalen Datenbanken ==<br />
Die Struktur einer [[Relationale Datenbank|relationalen Datenbank]] wird meistens durch ein [[ER-Diagramm]] modelliert. Wenn performancekritische Zugriffe vorauszusehen sind, dann kann noch ein Schritt der [[Denormalisierung]] folgen. Viele Datenmodellierungs-Tools bieten eine Unterstützung an, dass aus dem [[Datenbankmodell|Datenmodell]] die SQL-[[Data Definition Language|DDL]]-Statements zum Aufbau der Datenbank generiert werden können. Durch das Ausführen der SQL-DDL-Statements werden die Datenbank-Objekte erstellt:<br />
<br />
* [[Schema (Informatik)|Schema]]<br />
* [[Tablespace]]<br />
* [[Datenbanktabelle|Tabelle]]<br />
* [[Integritätsbedingung]]<br />
* [[Datenbankindex|Index]]<br />
* [[Sicht (Datenbank)|View]]<br />
<br />
Nachdem die Datenbank-Objekte erstellt sind, können die [[Datensatz|Datensätze]] in die Datenbank eingefügt werden.<br />
<br />
== Speicherplatz planen ==<br />
Bei Datenbanken mit einem großen Datenvolumen ist es wichtig, den benötigten [[Datenspeicher|Speicherplatz]] genau zu planen. <br />
<br />
=== Umfang ===<br />
Der Speicherplatzbedarf der gesamten Datenbank wird wesentlich durch das Datenvolumen der einzelnen Tabellen bestimmt. Wenn man die durchschnittliche Satzlänge einer Tabelle abschätzt und die voraussichtliche Anzahl der Datensätze, dann müssen diese beiden Werte miteinander multipliziert werden, um den Speicherplatzbedarf der gesamten Tabelle anzuschätzen. Der Speicherplatzbedarf der einzelnen Tabellen wird addiert und man erhält den Platzbedarf für alle in der Datenbank zu speichernden Daten. Oft werden solche Zahlen für den Zeitpunkt der Inbetriebnahme mit einer Planung der jährlichen Zuwachsrate kalkuliert.<br />
<br />
Zu dem Platz der Nettodaten kommen noch 10% bis 50% weiterer Speicherplatzbedarf für die Strukturen zur Verwaltung der Datenbank. ( z.B. [[Datenbankindex|Indices]], Interne Tabellen zur Verwaltung von Zugriffsrechten und zur Speicherplatzverwaltung)<br />
<br />
=== Qualität des Speichermediums ===<br />
Die Auswahl der geeigneten Hardware spielt bei großen Datenbanken eine bedeutende Rolle. Es werden [[Festplatte]]n mit unterschiedlichen Größen und Zugriffsgeschwindigkeiten angeboten. Da alle Festplatten ein zwar geringes, aber dennoch vorhandenes Risiko eines Datenverlustes tragen, sind unterschiedliche Konzepte zur Reduzierung dieser Risiken entwickelt worden. (Siehe [[RAID|Redundant Array of Independent Disks (RAID)]])<br />
<br />
== Datensicherung ==<br />
Bei jeder Datenbank sollte die regelmäßige Herstellung von [[Datensicherung]]en geplant werden. Wesentliche Parameter sind dabei die Zeit, die bei einem Totalausfall des Speichermediums gebraucht wird, um den Betrieb wieder aufzunehmen. Aber auch die Zeit, die zur Wiederherstellung einzelner Tabellen erforderlich ist, ist eine wichtige Größe. Ferner muss festgelegt werden, wie lange Datensicherungen aufgehoben werden sollen.<br />
<br />
== Ausfallsicherheit ==<br />
Wenn ein Ausfall der Datenbank für einige Tage nicht kritisch ist, dann kann bei einem Ausfall einer Systemkomponente diese ersetzt werden und der Betrieb kann nach einem Einspielen einer Datensicherung fortgesetzt werden. <br />
<br />
Wenn jedoch unternehmenskritische Daten in der Datenbank gespeichert werden, dann kann es sein, dass ein Ausfall von wenigen Stunden bereits einen emensen Schaden verursacht, weil wichtige Geschäfte einer Firma nicht mehr ausgeführt werden können. [[Hochverfügbarkeit]] eines Systems bezeichnet die Fähigkeit, bei Ausfall einer seiner Komponenten einen uneingeschränkten Betrieb zu gewährleisten. Sie wird zum einen durch eine redundante Ausstattung aller Systemkomponenten erreicht. Zum anderen ist eine Bereitstellung von gut geschultem Personal erforderlich, die bei einem Fehler sofort die erforderlichen Maßnahmen ergreifen können.<br />
<br />
== Software ==<br />
* [[DBDesigner 4]]<br />
* [[DeZign for Databases]]<br />
* [[MySQL Workbench]]<br />
* DBDesigner Fork<br />
<br />
== Siehe auch ==<br />
* [[Strukturiertes Design]]<br />
* [[Liste von Datenmodellierungswerkzeugen]]<br />
<br />
[[Kategorie:Datenbankmodellierung]]</div>84.84.72.5https://de.wikipedia.org/w/index.php?title=Computer-aided_software_engineering&diff=58082835Computer-aided software engineering2009-03-19T13:16:41Z<p>84.84.72.5: /* Bekannte CASE-Tools */</p>
<hr />
<div>Der Begriff '''Computer-Aided Software Engineering''' ('''CASE'''; auch '''Rechnergestützte Softwareentwicklung''') bezeichnet den intensiven Einsatz IT-gestützter Werkzeuge für die Umsetzung einer [[Software]]-Konzeption.<br />
<br />
CASE-Tools sind Programme, die den Software-Ingenieur bei der Planung, dem Entwurf und der Dokumentation seiner Arbeitsergebnisse (Software) unterstützen. Ein wichtiger Bestandteil von CASE-Tools ist eine grafische Notationsweise, die der Visualisierung der Architektur des Software-Systems dient. <br />
<br />
CASE-Tools sind oft in [[integrierte Entwicklungsumgebung]]en (IDEs) integriert; manchmal sind es auch eigenständige Applikationen, deren Fokus vollständig auf CASE liegt (ohne dabei die anderen typischen Elemente einer Entwicklungsumgebung anzubieten).<br />
<br />
Einige CASE-Tools unterstützen neben der modernen objektorientierten grafischen Notationsweise [[Unified Modeling Language|UML]] auch die sogenannten strukturierten Vorgehensweisen [[Strukturierte Analyse]] und [[Strukturiertes Design]] (SA/SD) sowie die Datenmodellierungsmethoden [[Entity-Relationship-Modell]]ierung (ERM/SERM).<br />
<br />
== Bekannte CASE-Tools ==<br />
<br />
*[[UML]]<br />
** [[Enterprise Architect]]<br />
** [[Fujaba]] (Open Source)<br />
** [[Innovator (Software)|Innovator]]<br />
** [[objectiF]] <br />
** [[Rational Rose]]<br />
** [[SiSy]]<br />
** [[Together]]<br />
** [[TOPCASED]] (Open Source)<br />
** [[Umbrello]] (Open Source)<br />
** [[StarUML]] (Open Source)<br />
<br />
* SA/SD ([[Strukturierte Analyse]] und [[Strukturiertes Design]])<br />
** [[ARIS]]<br />
** [[case/4/0]]<br />
** [[Innovator (Software)|Innovator]]<br />
** [[SiSy]]<br />
<br />
* [[Entity-Relationship-Modell]]<br />
** [[case/4/0]]<br />
** [[Innovator (Software)|Innovator]]<br />
** [[SiSy]]<br />
** [[PowerDesigner]]<br />
** [[DeZign for Databases]]<br />
<br />
* Andere<br />
** [[Simulink]]<br />
<br />
== Siehe auch ==<br />
* [[Modellierung]]<br />
* [[Objektorientierung|Objektorientierte Modellierung]]<br />
* [[Liste von Datenmodellierungswerkzeugen]]<br />
<br />
== Weblinks ==<br />
* [http://www.gi-ev.de/service/informatiklexikon/informatiklexikon-detailansicht/meldung/27/ CASE im Informatiklexikon]<br />
<br />
[[Kategorie:Programmierwerkzeug]]<br />
[[Kategorie:Vorgehensmodell (Software)]]<br />
<br />
[[bs:CASE alati]]<br />
[[ca:Eines CASE]]<br />
[[cs:CASE]]<br />
[[en:Computer-aided software engineering]]<br />
[[es:Herramienta CASE]]<br />
[[fr:Computer-aided software engineering]]<br />
[[it:Computer-aided software engineering]]<br />
[[ja:Computer Aided Software Engineering]]<br />
[[lt:CASE įrankis]]<br />
[[nl:Computer-aided software engineering]]<br />
[[pl:CASE (informatyka)]]<br />
[[pt:Ferramenta CASE]]<br />
[[th:Computer-Aided Software Engineering]]<br />
[[zh:電腦輔助軟體工程]]</div>84.84.72.5