Übersicht über Programme zum Erstellen von Datenbanken. Entwicklung von Datenbankanwendungen Analyse der Problemstellung und des Themengebietes

Lassen Sie uns eine einfache Datenbankanwendung erstellen, die Informationen aus der Tabelle "Touristen" und einen Datensatz der Tabelle "Touristeninformationen" aus der Datenbank anzeigt, die dem aktuellen Datensatz der Tabelle "Touristen" zugeordnet ist. Microsoft-Daten Zugriff.

Erstellen wir dazu eine leere Windows-Anwendung. Umgebungserscheinung

Die Entwicklung ist in Abbildung 39 dargestellt.

Reis. 39. Leere Bewerbung

In Abbildung 39 ist die Komponentengruppe „Daten“ hervorgehoben, die Komponenten für den Zugriff und die Manipulation von Daten enthält.

Die Bindung der Datenbankdaten an das Formular erfolgt durch die Komponente "Binding Source". Übertragen wir es in das Formular. Nach dem Platzieren auf dem Formular nimmt die Entwicklungsumgebung die folgende Form an (Abb. 40).

Reis. 40. Komponentenbindungsquelle auf dem Formular

Die Komponente ist nicht visuell, daher wird sie in einem zusätzlichen Panel angezeigt. Die Haupteigenschaft der Komponente ist die DataSource-Eigenschaft, die auf die Datenquelle zeigt. Standardmäßig ist die Eigenschaft leer, daher müssen Sie ihren Wert bilden. Bei Auswahl dieser Eigenschaft erscheint im Eigenschaftsfenster folgendes Fenster (Abb. 41).

Reis. 41. Liste der Datenquellen

Die Liste ist derzeit leer, daher müssen Sie eine neue Datenquelle erstellen, indem Sie den Befehl Projektdatenquelle hinzufügen auswählen, um eine neue Datenquelle zu erstellen und eine Verbindung zu dieser herzustellen. Das folgende Dialogfeld erscheint (Abb. 42).

Reis. 42. Liste der Datenquellen

Dieser Dialog bietet die folgende Auswahl an Datenquellen:

Datenbank - Datenbank;

Dienst - Ein Dienst ist eine Art Dienst, der Daten bereitstellt. In den meisten Fällen handelt es sich um einen Webdienst;

Objekt – Ein Objekt zum Auswählen eines Objekts, das Daten und Objekte zum Arbeiten generiert.

In unserem Fall müssen Sie den Punkt "Datenbank" auswählen. Es erscheint ein Fenster zur Auswahl einer Datenverbindung (Abb. 43).

Reis. 43. Auswahl einer Datenverbindung

Der Zweck dieses Dialogfelds besteht darin, eine Verbindungszeichenfolge zu erstellen, die die Verbindungsparameter für die ADO-Engine beschreibt, z. B. den Typ der Datenbank, ihren Speicherort, Benutzernamen, Sicherheitsfunktionen usw.

Die Dropdown-Liste des Dialogs enthält alle zuvor erstellten Verbindungen. Sollte die gewünschte Verbindung nicht in der Liste enthalten sein, sollten Sie die Schaltfläche "Neue Verbindung" verwenden. Das Drücken der Schaltfläche führt zum Erscheinen des folgenden Dialogs (Abb. 44).

In diesem Dialog wird der Typ der Datenquelle ausgewählt (in diesem Fall Microsoft Access), den Namen der Datenbank (in diesem Fall der Name und der Speicherort der Datenbankdatei), den Benutzernamen und das Passwort, die für die Verbindung mit der Datenbank verwendet werden. Über die Schaltfläche "Erweitert" können Sie eine Vielzahl von Parametern in Bezug auf verschiedene Details des ADO-Mechanismus einstellen. Über die Schaltfläche "Verbindung testen" wird sichergestellt, dass die eingegebenen Parameter korrekt sind und die Verbindung funktioniert.

Reis. 44. Erstellen einer neuen Verbindung

Der letzte Schritt des Dialogs besteht darin, diejenigen Tabellen oder andere Datenbankobjekte auszuwählen, die in diese Quelle Daten. Das Auswahlfenster ist in Abbildung 45 dargestellt.

Reis. 45. Auswahl der benötigten Tabellen

In diesem Fenster werden die Tabellen "Touristen" und "Touristen-Informationen" ausgewählt. Da in der Datenbank keine anderen Objekte als Tabellen erstellt wurden, werden in Abbildung 45 nur Tabellen angezeigt. Damit ist die Erstellung der Datenquelle abgeschlossen. Wenn Sie auf Fertig stellen klicken, wird ein DataSet neben der BindingSource im Formular angezeigt.

Nun müssen die oben verknüpften Daten auf dem Formular angezeigt werden. Die einfachste Möglichkeit zum Anzeigen von Daten besteht darin, die DataGridView-Komponente aus der Data-Komponentengruppe zu verwenden. Die Komponente ist visuell und sieht auf dem Formular so aus (Abb. 46).

Reis. 46. ​​​​Komponente DataGridView

Das Fenster mit den Komponenteneinstellungen wird sofort angezeigt, das seine Fähigkeit zum Bearbeiten von Daten bestimmt: "Hinzufügen aktivieren", "Bearbeiten aktivieren", "Löschen aktivieren"; die Möglichkeit, die Reihenfolge der Spalten zu ändern: "Enable Column Reordering"; und auch die Möglichkeit, im übergeordneten Container anzudocken.

Damit die Komponente Daten anzeigt, müssen Sie eine Datenquelle in der Dropdown-Liste auswählen. Die Auswahl der Dropdown-Liste führt zum Erscheinen des folgenden Dialogs (Abb. 47).

Reis. 47. Auswählen einer Datenquelle für DataGridView

In diesem Fall haben wir als Datenquelle die Tabelle „Touristen“ gewählt. Diese Auswahl ändert die Anzeige wie folgt (Abb. 48).

Reis. 48. Komponente DataGridView zeigt die Struktur der Tabelle an

In der Abbildung sehen Sie, dass es eine weitere BindingSource-Komponente und eine TableAdapter-Komponente gibt, die mit der Tourists-Tabelle arbeitet. Bitte beachten Sie, dass zur Entwurfszeit oder während der Entwicklung Daten aus der Tabelle nicht angezeigt werden.

Nun müssen Sie sich die Daten aus der verlinkten Tourist-Informations-Tabelle anzeigen lassen. Platzieren Sie dazu eine weitere DataGridView-Komponente auf dem Formular und wählen Sie als Datenquelle Folgendes aus (Abb. 49).

Reis. 49. Auswahl einer Datenquelle für das zweite DataGridView

Die Datenquelle ist hier nicht die Tabelle "Tourist Information" selbst, sondern die Binding Source zwischen den Tabellen "Tourists" und "Tourist Information". Diese Auswahl stellt sicher, dass nur die Zeilen zugeordnet sind mit aktuelle Zeile in der Tabelle "Touristen". Diese Auswahl stellt auch sicher, dass die zugehörigen Daten korrekt aktualisiert und gelöscht werden. Die Funktionsweise der resultierenden Anwendung ist in Abbildung 50 dargestellt.

Reis. 50. Datenbankanwendung bei der Arbeit

Das Navigieren durch die Daten mit den Pfeiltasten ist umständlich. Es gibt eine BindingNavigator-Komponente, um die Navigation durch die Daten zu vereinfachen. Legen Sie es auf das Formular (Abb. 51).

Reis. 51. Die BindingNavigator-Komponente im Formular

Mit dieser Komponente können Sie zwischen Tabellendatensätzen navigieren, Tabellenzeilen hinzufügen und löschen. Chancen und Aussehen Die Komponente ist anpassbar, da es sich um eine ToolStripContainer-Menüleiste handelt.

Die Eigenschaft, die die zu navigierende Tabelle definiert, ist die BindingSource-Eigenschaft. Legen Sie den Wert dieser Eigenschaft auf TouristBindingSource fest. Im Betrieb sieht das Bauteil so aus (Abb. 52).

Reis. 52. Die BindingNavigator-Komponente bei der Arbeit

Das Bearbeiten von Daten in den Zellen der DataGridView-Komponente mit entsprechenden Einstellungen ist möglich, aber umständlich und nicht rational. Insbesondere ist es schwierig, eingegebene Werte auf Fehler zu überprüfen. Daher werden wir für die Tabelle "Touristen" eine Maske erstellen, die es ermöglicht, Daten in den TextBox-Komponenten anzuzeigen und zu bearbeiten. Platzieren Sie dazu einen Container vom Typ Panel auf dem Formular und darauf drei TextBox-Komponenten wie folgt (Abb. 53).

Reis. 53. Bildschirmbereich zum Bearbeiten von Datensätzen der Tabelle "Touristen"

Nun müssen die TextBox-Komponenten an die entsprechenden Felder der Tabelle "Touristen" gebunden werden. Verwenden Sie dazu die Eigenschaft aus der DataBindings-Gruppe - Erweitert, wie in Abbildung 54 gezeigt.

Reis. 54. Eigenschaft "DataBindings - Erweitert"

Die Auswahl dieser Eigenschaft führt zum Erscheinen des in Abbildung 55 gezeigten Dialogs. In diesem Dialog können Sie nicht nur eine Datenbindung durchführen, sondern auch ein Ereignis festlegen, innerhalb dessen die Daten aktualisiert werden, sowie die Daten bei der Anzeige formatieren .

Wählen Sie für die oberste TextBox-Komponente in der Dropdown-Liste Bindung die Datenquelle "touristsBmdmgSource" und das Quellfeld - "Nachname". Wählen Sie für die mittlere und die untere TextBox-Komponente dieselbe Datenquelle und die Felder "Name" bzw. "Patronymic" aus.

Die entwickelte Anwendung im Betrieb sieht wie folgt aus (Abb. 56).

Reis. 55. Dialogfeld für die Eigenschaft "DataBindings - Erweitert"

Reis. 56. Daten an visuelle Komponenten binden

Bei Änderungen verbleiben jedoch alle neuen Daten nur auf dem Formular. Sie werden nicht in der Datenbank gespeichert und sind beim erneuten Aufruf der Anwendung natürlich nicht vorhanden. Dies liegt daran, dass die Daten in ein DataSet geladen wurden, bei dem es sich um eine speicherinterne Kopie der Tabelle handelt. Alle Aktionen werden mit dieser Kopie ausgeführt. Damit die Änderungen in der Datenbank widergespiegelt werden, müssen Sie die Update-Methode der TableAdapter-Klasse ausführen. Daher ist es in der entwickelten Anwendung erforderlich, die Schaltfläche Update zu platzieren und den folgenden Programmcode in den Click-Ereignishandler zu schreiben:

touristTableAdapteгUpdate (bDTur_firmDataSet); info_about_touristsTableAdapter.Update (bDTur_firmDataSet);

Dieser Code aktualisiert die Informationen in den Tabellen "Touristen" und "Touristeninformationen", die von der Datenquelle bereitgestellt werden. Beachten Sie, dass diese Methode ist überladen, und seine Varianten ermöglichen es Ihnen, sowohl eine einzelne Zeile einer Tabelle als auch eine Gruppe von Zeilen zu aktualisieren.

Senden Sie Ihre gute Arbeit in die Wissensdatenbank ist einfach. Verwenden Sie das untenstehende Formular

Studierende, Doktoranden, Nachwuchswissenschaftler, die die Wissensbasis in Studium und Beruf nutzen, werden Ihnen sehr dankbar sein.

Veröffentlicht am http://www.allbest.ru/

Einführung

3. Datenorganisationsmodelle

4. Relationale Datenbanken

6. Infologisches Modell

7. Logisches Modell

8. Aufbau der Tabellen

12. Tabellen erstellen

16. Berichte erstellen

17. Programmliste

Fazit

Referenzliste

Einführung

Um fundierte und effektive Entscheidungen in der Produktion, in der Wirtschaft und in der Politik zu treffen, muss ein moderner Spezialist in der Lage sein, Daten mittels Computer und Kommunikation zu empfangen, zu sammeln, zu speichern und zu verarbeiten und das Ergebnis in Form von visuellen Dokumenten darzustellen. Daher ist es so wichtig, mit Datenbanken arbeiten zu können.

Eine Datenbank ist eine organisierte Struktur zum Speichern von Informationen. Moderne Datenbanken speichern nicht nur Daten, sondern auch Informationen.

Delphi wird als Framework bezeichnet schnelle Erstellung Anwendungen. Das ist Technologie visuelle Programmierung, d.h. der Benutzer erstellt sein zukünftiges Programm und sieht die Ergebnisse seiner Arbeit noch vor dem Start des Programms. Grundsätzlich gliedert sich der Prozess des Schreibens einer Bewerbung selbst in zwei Teile. Zunächst platziert der Programmierer die notwendigen Elemente in den Fenstern seines Programms, positioniert, stellt die erforderlichen Abmessungen ein und ändert Eigenschaften. Die zweite ist das eigentliche Schreiben von Programmcode, das Beschreiben der Eigenschaften von Elementen, die nur während der Ausführung der Anwendung verfügbar sind, das Beschreiben von Reaktionen auf das Ereignis eines Fensters, das Drücken einer Schaltfläche usw. Ändern dieser Eigenschaft im Objektinspektor (der sogenannten Eigenschaftsmonitor des ausgewählten Elements). Diese Änderung ergänzt oder modifiziert automatisch den Programmcode.

Dies ist ein großes Plus in der visuellen Programmiertechnologie. Bei der Erstellung oder Änderung seines Softwareprodukts schreibt der Benutzer, der einige Eigenschaften des Programmelements nicht kennt oder nicht beachtet, sondern nur die notwendigen verwendet, ein vollständig fertiges Arbeitsprodukt, das manchmal in gleicher Komplexität agiert, mit denen, die in einem nicht-visuellen Editor geschrieben wurden.

Unsere Aufgabe ist es, eine Datenbank zu erstellen, die Daten zum Curriculum des Bildungsprozesses enthält. Nachdem Sie die Datenbank gefüllt haben, müssen Sie eine selektive Analyse mit SQL-Abfragen durchführen.

Datenbank-Infologisches Tabellenprogramm

1. Allgemeine Anforderungen an die Entwicklung von Datenbankanwendungen

Die Datenbank muss enthalten

A. Tabellen zum Speichern von Daten, mindestens 3 Tabellen. Jede Tabelle muss mindestens 10 Datensätze enthalten.

B. Formulare zum einfachen Anzeigen, Eingeben, Bearbeiten und Suchen von Daten, Erstellen und Anzeigen von Abfragen. Das Formular muss Erläuterungen, Hinweise enthalten. Verwenden Sie beim Ausfüllen von Formularfeldern für bekannte Wertesätze die Möglichkeit, Werte aus einer Liste auszuwählen. Formulare sollten nach Möglichkeit verlinkt werden, um die Post-Navigation zu optimieren. Das Formular sollte möglichst viele Informationen für den Benutzer enthalten. Sorgen Sie für die Verarbeitung auftretender semantischer Fehler.

C. Berichte mit allen Tabellen, Formularen, Abfragen

D. Menü für den Zugriff auf verschiedene Datenbankobjekte

e. Hilfe mit einer vollständigen Beschreibung der Aufgabe

2. Für die Datenbankprogrammierung ist es notwendig, zusätzliche Literatur zur Sprache SQL, dem Programmiersystem DELPHI, zu verwenden.

3. Liste und Methoden unabhängig gelöster Probleme

1. Analyse der Problemstellung und des Themengebietes.

2. Infologisches Design, Begründung von Informationsobjekten, Domänen, Attributen, Verknüpfungen, Erstellung eines infologischen Modells.

3. Logisches Design, Konstruktion und Begründung von Grundbeziehungen, Normalisierung.

4. Entwerfen von SQL-Abfragen.

5. Programmierung der Struktur und allgemeinen Funktionen in der Datenbank.

6. Entwerfen einer Datenbank in einer Softwareumgebung.

7. Entwicklung der Programmschnittstelle.

8. Ausführung einer Erläuterung.

4. Kriterien zur Bewertung der erworbenen Kompetenzen für Studienleistungen

Die Kriterien werden von der Lehrkraft bei der Verteidigung der Arbeit ausgefüllt, die in Tabelle 1 angegeben sind. Ausgehend von der Durchschnittsnote wird die Note für die Studienarbeit vergeben.

Tabelle 1. Kompetenzbewertung

Kompetenzname

Bewertungsobjekt

Anforderungen verstehen und befolgen

Erzielte Ergebnisse (DB) (Volumen, Struktur, Erfüllung der Aufgabe)

Schriftliche Kommunikation

Die Qualität der Darstellung in der Erläuterung, Klarheit, Umfang, Struktur, Erfüllung der Aufgabenstellung.

Die Elemente des DELPHI-Programmiersystems kennen und anwenden

Datenbankanwendungskomponenten, Antworten auf Fragen zur Datenbankimplementierung

Die Elemente der Datenbanktechnologie kennen und anwenden

Antworten auf gestalterische Fragen, ggf. im Testformat

Verstehen Sie die Anforderungen für die Anwendung der Datenbanktechnologie

Einführung der Erläuterung

Arbeitsplanung, Arbeitsorganisation

Seitenwechsel

Probleme selbst lösen

Liste und Methoden unabhängig gelöster Probleme

Verbale Kommunikation

Öffentlicher Schutz der Datenbank

Fähigkeit zu analysieren, zu synthetisieren

Infologisches, logisches Datenbankmodell

Verpflichtung zu qualitativ hochwertigen Ergebnissen

Qualität der geleisteten Arbeit, ergonomische Indikatoren, Qualität der Funktion.

Fähigkeit, neue Ideen zu generieren

Die Qualität der Schnittstelle, Zusatzfunktionen der Datenbank, werden in der Aufgabenstellung nicht berücksichtigt.

Möglichkeit zum Verwalten (Suchen) von Informationen

Die Anzahl der gefundenen und verwendeten Informationsressourcen in Seminararbeit, die Anzahl der Berater.

2. Grundbegriffe und Klassifizierung von Datenbankmanagementsystemen

Eine Datenbank (DB) ist eine Sammlung strukturierter Daten, die im Speicher eines Computersystems gespeichert sind und den Zustand von Objekten und deren Beziehungen in dem betrachteten Themenbereich anzeigen.

Die logische Struktur der in der Datenbank gespeicherten Daten wird als Datenpräsentationsmodell bezeichnet. Zu den wichtigsten Modellen der Datenpräsentation (Datenmodelle) gehören hierarchisch, vernetzt und relational.

Ein Datenbankmanagementsystem (DBMS) ist ein Komplex aus Sprache und Software-Tools, bestimmt für die Erstellung, Pflege und gemeinsame Nutzung einer Datenbank durch viele Benutzer. Typischerweise unterscheidet sich ein DBMS durch das verwendete Datenmodell. DBMS, die auf der Verwendung eines relationalen Datenmodells basieren, werden daher als relationales DBMS bezeichnet.

Um mit einer Datenbank zu arbeiten, reichen oft DBMS-Tools aus. Wenn es jedoch erforderlich ist, die Arbeit mit der Datenbank für unqualifizierte Benutzer zu erleichtern oder die DBMS-Schnittstelle nicht zu den Benutzern passt, können Anwendungen entwickelt werden. Ihre Erstellung erfordert Programmierung. Eine Anwendung ist ein Programm oder eine Reihe von Programmen, die die Lösung eines angewendeten Problems automatisieren. Anwendungen können in der Umgebung oder außerhalb der DBMS-Umgebung erstellt werden – mit einem Programmiersystem, das Datenbankzugriffstools verwendet, zum Beispiel Delphi oder C++ Build. In einer DBMS-Umgebung entwickelte Anwendungen werden häufig als DBMS-Anwendungen bezeichnet, und außerhalb des DBMS entwickelte Anwendungen werden häufig als externe Anwendungen bezeichnet.

Ein Datenwörterbuch ist ein Datenbank-Subsystem, das für die zentrale Speicherung von Informationen über Datenstrukturen, Beziehungen von Datenbankdateien untereinander, Datentypen und Formate ihrer Präsentation, Daten von Benutzern, Sicherheits- und Zugangskontrollcodes usw. entwickelt wurde.

Auf Datenbanken basierende Informationssysteme arbeiten üblicherweise in einer Client-Server-Architektur. In diesem Fall befindet sich die Datenbank auf dem Server-Rechner und wird freigegeben.

Der Server einer bestimmten Ressource in Computernetzwerk der Computer (das Programm), der diese Ressource verwaltet, wird aufgerufen, der Client ist der Computer (das Programm), der diese Ressource verwendet. Als Ressource eines Computernetzwerks können beispielsweise Datenbanken, Dateien, Druckdienste und Postdienste fungieren.

Die Würde der Organisation Informationssystem auf der Client-Server-Architektur ist eine gelungene Kombination aus zentraler Speicherung, Service und gemeinsamem Zugriff auf gemeinsame Unternehmensinformationen mit der individuellen Arbeit der Benutzer.

Nach dem Grundprinzip der Client-Server-Architektur werden Daten nur auf dem Server verarbeitet. Ein Benutzer oder eine Anwendung stellt Anfragen, die in Form von SQL-Sprachanweisungen an den Datenbankserver gelangen. Der Datenbankserver ermöglicht das Suchen und Abrufen der erforderlichen Daten, die dann auf den Computer des Benutzers übertragen werden. Der Vorteil dieses Ansatzes im Vergleich zu den vorherigen ist eine deutlich geringere Menge an übertragenen Daten.

Es werden folgende Arten von DBMS unterschieden:

* DBMS mit vollem Funktionsumfang;

* Datenbankserver;

* Tools zum Entwickeln von Programmen für die Arbeit mit einer Datenbank.

Voll funktionsfähige DBMS sind traditionelle DBMS. Dazu gehören dBase IV, Microsoft Access, Microsoft FoxPro und mehr.

Datenbankserver sind für die Organisation von Rechenzentren in Computernetzwerken bestimmt. Datenbankserver bieten Anfrageverarbeitung Client-Programme normalerweise mit SQL-Anweisungen. Beispiele für Datenbankserver sind: Microsoft SQL Server, Interbase usw.

Im allgemeinen Fall kann die Rolle von Client-Programmen von DBMS, Tabellenkalkulationen, Textverarbeitungsprogrammen, Programmen verwendet werden Email usw.

Mit Tools zur Entwicklung von Programmen für die Arbeit mit einer Datenbank können die folgenden Programme erstellt werden:

* Client-Programme;

* Datenbankserver und ihre einzelnen Komponenten;

* benutzerdefinierte Anwendungen.

Aufgrund der Art ihrer Verwendung werden DBMS in Mehrbenutzer- (industriell) und lokale (persönliche) unterteilt.

Industrial, DBMS stellen eine Softwarebasis für die Entwicklung automatisierter Steuerungssysteme für wirtschaftliche Großanlagen dar. Industrielles DBMS muss die folgenden Anforderungen erfüllen:

* die Fähigkeit, die gemeinsame parallele Arbeit vieler Benutzer zu organisieren;

* Skalierbarkeit;

* Portabilität auf verschiedene Hardware und Softwareplattformen;

* Stabilität in Bezug auf Fehler verschiedener Art, einschließlich des Vorhandenseins eines mehrstufigen Backup-Systems gespeicherter Informationen;

* Gewährleistung der Sicherheit der gespeicherten Daten und eines fortschrittlichen strukturierten Zugangssystems.

Persönliche DBMS sind Software Probleme lösen lokaler Benutzer oder eine kleine Gruppe von Benutzern und für die Verwendung auf einem PC vorgesehen. Dies erklärt ihren zweiten Namen - Desktop. Die bestimmenden Merkmale von Desktop-Systemen sind:

* Relative Benutzerfreundlichkeit, die es Ihnen ermöglicht, auf deren Basis praktikable Benutzeranwendungen zu erstellen;

* relativ begrenzte Hardware-Ressourcenanforderungen.

Je nach verwendetem Datenmodell werden DBMS in hierarchische, netzwerkbasierte, relationale, objektorientierte usw. unterteilt. Einige DBMS können gleichzeitig mehrere Datenmodelle unterstützen.

Um mit in der Datenbank gespeicherten Daten zu arbeiten, werden die folgenden Arten von Sprachen verwendet:

* Datenbeschreibungssprache – eine nicht-prozedurale Hochsprache
deklarativer Typ, entworfen, um eine logische
Datenstrukturen

* Datenbearbeitungssprache - eine Reihe von Konstruktionen, die grundlegende Operationen für die Arbeit mit Daten bereitstellen: Eingabe, Änderung und Abruf von Daten auf Anfrage.

Die genannten Sprachen können sich in verschiedenen DBMS unterscheiden. Am weitesten verbreitet sind zwei standardisierte Sprachen: QBE - eine auf dem Modell basierende Abfragesprache und SQL - eine strukturierte Abfragesprache QBE hat hauptsächlich die Eigenschaften einer Datenmanipulationssprache, SQL kombiniert die Eigenschaften beider Sprachentypen.

Das DBMS implementiert die folgenden grundlegenden Low-Level-Funktionen:

* Datenverwaltung in Externer Speicher;

* Verwaltung der RAM-Puffer;

* Transaktionsmanagement;

* Führen eines Protokolls der Änderungen in der Datenbank;

* Gewährleistung der Integrität und Sicherheit der Datenbank.

Die Implementierung der Datenverwaltungsfunktion im externen Speicher gewährleistet die Organisation der Ressourcenverwaltung in Dateisystem Betriebssystem.

Die Notwendigkeit, Daten zu puffern, liegt daran, dass die RAM-Menge geringer ist als die des externen Speichers. Puffer sind Bereiche des Hauptspeichers, die den Austausch zwischen externem und Hauptspeicher beschleunigen sollen. In den Puffern werden Fragmente der Datenbank zwischengespeichert, deren Daten beim Zugriff auf das DBMS verwendet oder nach der Verarbeitung in die Datenbank geschrieben werden sollen.

Der Transaktionsmechanismus wird im DBMS verwendet, um die Integrität der Daten in der Datenbank aufrechtzuerhalten. Eine Transaktion ist eine bestimmte unteilbare Folge von Operationen auf Datenbankdaten, die vom DBMS von Anfang bis Ende verfolgt wird. Wenn die Transaktion aus irgendeinem Grund (Hardwarefehler und -fehler, Fehler in der Software, einschließlich der Anwendung) unvollständig bleibt, wird sie abgebrochen.

Es gibt drei Haupteigenschaften von Transaktionen:

* Atomizität (alle in der Transaktion enthaltenen Operationen werden ausgeführt oder keine);

* Serialisierbarkeit (keine gegenseitige Beeinflussung gleichzeitig ausgeführter Transaktionen);

* Haltbarkeit (auch ein Systemabsturz führt nicht zum Verlust der Ergebnisse der festgeschriebenen Transaktion).

Ein Beispiel für eine Transaktion ist die Überweisung von Geld von einem Konto auf ein anderes im Bankensystem. Zuerst wird Geld von einem Konto abgebucht, dann wird es einem anderen Konto gutgeschrieben. Wenn mindestens eine der Aktionen nicht erfolgreich ist, ist das Ergebnis der Operation falsch und die Bilanz der Operation wird durcheinander gebracht.

Die Änderungsprotokollierung wird vom DBMS durchgeführt, um die Zuverlässigkeit der Datenspeicherung in der Datenbank bei Hardware- und Softwarefehlern sicherzustellen.

Die Sicherstellung der Integrität der Datenbank ist eine notwendige Bedingung für das erfolgreiche Funktionieren der Datenbank, insbesondere wenn sie Netzwerknutzung... Die Integrität der Datenbank ist eine Eigenschaft der Datenbank, das heißt, sie enthält vollständige, konsistente und das Fachgebiet angemessen widerspiegelnde Informationen. Der integrale Zustand der Datenbank wird durch Integritätsbeschränkungen in Form von Bedingungen beschrieben, die von den in der Datenbank gespeicherten Daten erfüllt werden müssen.

Die Sicherheit wird im DBMS durch Datenverschlüsselung, Passwortschutz, Unterstützung von Zugriffsebenen auf die Datenbank und ihre einzelnen Elemente (Tabellen, Formulare, Berichte etc.) erreicht.

3. Datenorganisationsmodelle

In einem hierarchischen Modell werden Entitätsobjekte und Domänenbeziehungen durch Datensätze dargestellt, die eine baumartige (hierarchische) Struktur haben. Das hierarchische Datenmodell war historisch das erste. Auf dieser Grundlage wurden Ende der 60er - Anfang der 70er Jahre die ersten professionellen DBMS entwickelt.

Der Fokus der Integritätsbeschränkungen im hierarchischen Modell liegt auf der Integrität von Referenzen zwischen Vorfahren und Nachkommen, vorbehaltlich der Grundregel: Kein Nachkomme kann ohne Eltern existieren.

Mit dem Netzwerkdatenmodell können Sie verschiedene Beziehungen von Datenelementen in Form eines beliebigen Diagramms darstellen. Eine Netzwerkdatenbank besteht aus einer Reihe von Datensätzen und einer Reihe verwandter Links. Die Bildung einer Anleihe unterliegt keinen besonderen Beschränkungen. Wenn in hierarchischen Strukturen ein Kind-Datensatz nur einen Vorfahren-Datensatz haben könnte, dann kann ein Kind-Datensatz im Netzwerkdatenmodell eine beliebige Anzahl von Vorfahren-Datensätzen haben.

Der Vorteil des Netzwerkdatenmittelteils liegt in der Möglichkeit seiner effektiven Umsetzung. Im Vergleich zum hierarchischen Modell bietet das Netzwerkmodell größere Möglichkeiten im Sinne der Zulässigkeit der Bildung beliebiger Verbindungen.

Der Nachteil des Netzwerkdatenmodells ist die hohe Komplexität und Starrheit des darauf aufbauenden Datenbankschemas sowie die Komplexität seines Verständnisses durch einen normalen Benutzer. Außerdem wird im Netzwerkdatenmodell die Kontrolle der Integrität von Links aufgrund der Zulässigkeit willkürlicher Links zwischen Datensätzen geschwächt.

Auf dem Netzwerkmodell basierende Systeme sind in der Praxis nicht weit verbreitet.

Das relationale Datenmodell wurde von IBM-Mitarbeiter Edgar Codd vorgeschlagen und basiert auf dem Konzept der Relation.

Eine Beziehung ist eine Menge von Elementen, die Tupel genannt werden. Eine zweidimensionale Tabelle ist eine visuelle Form der Darstellung einer Beziehung.

Unter Verwendung einer Tabelle ist es bequem, die einfachste Art von Beziehungen zwischen Daten zu beschreiben, nämlich: die Aufteilung eines Objekts, über das Informationen in der Tabelle gespeichert sind, in viele Unterobjekte, von denen jedes einer Zeile oder einem Tabellendatensatz entspricht.

Die Hauptnachteile des relationalen Modells sind wie folgt: Standardwerkzeuge Identifizierung einzelner Datensätze und die Komplexität der Beschreibung hierarchischer und Netzwerkbeziehungen.

4. Relationale Datenbanken

Das relationale Datenmodell (RDM) eines bestimmten Themenbereichs ist eine Reihe von Beziehungen, die sich im Laufe der Zeit ändern. Beim Anlegen eines Informationssystems ermöglicht Ihnen eine Reihe von Relationen, Daten zu Objekten im Themenbereich zu speichern und Verbindungen zwischen ihnen zu modellieren. RMD-Begriffe sind in der Tabelle dargestellt. 4.1

Tabelle 4.1. Die Begriffe des relationalen Modells

Begriffsbeziehung bekleidet

Äquivalent

Attitüde

Beziehungsdiagramm

Tabellenspaltenüberschriftenzeile (Tabellenüberschrift)

Tabellenzeile, Datensatz

Die Essenz

Beschreibung der Objekteigenschaften

Spalte, Feld

Viele gültige Werte

Attribut

Primärschlüssel

Eindeutiger Identifikator

Kardinalität

Anzahl der Zeilen

Anzahl der Spalten

Eine relationale Datenbank ist ein Data Warehouse, das eine Reihe von zweidimensionalen Tabellen enthält. Die Daten in den Tabellen müssen folgenden Grundsätzen entsprechen:

1. Attributwerte müssen atomar sein (mit anderen Worten,
jeder Wert, der am Schnittpunkt einer Zeile und einer Spalte enthalten ist,
sollte nicht in mehrere Werte aufgeteilt werden).

2. Die Werte jedes Attributs müssen vom gleichen Typ sein.

3. Jeder Datensatz in der Tabelle ist einzigartig.

4. Jedes Feld hat einen eindeutigen Namen.

5. Die Reihenfolge der Felder und Datensätze in der Tabelle ist nicht zwingend.

Eine Beziehung ist das wichtigste Konzept und ist eine zweidimensionale Tabelle, die einige Daten enthält.

Eine Entität ist ein Objekt jeglicher Art, dessen Daten in einer Datenbank gespeichert sind. Entitätsdaten werden in einer Relation gespeichert.

Attribute sind Eigenschaften, die eine Entität charakterisieren. In der Struktur der Tabelle ist jedes Attribut benannt und entspricht der Überschrift einer bestimmten Spalte in der Tabelle.

Der Schlüssel einer Beziehung ist ein Satz ihrer Attribute, die jedes der Tupel der Beziehung eindeutig identifizieren. Mit anderen Worten, die Menge der Attribute K, die der Schlüssel der Beziehung ist, hat die Eigenschaft der Eindeutigkeit. Die nächste Eigenschaft eines Schlüssels ist nicht die Redundanz. Das heißt, keine der echten Teilmengen der Menge K besitzt die Eindeutigkeitseigenschaft.

Jede Beziehung hat immer eine Kombination von Attributen, die als Schlüssel dienen können.

Es kann Fälle geben, in denen eine Relation mehrere Attributkombinationen aufweist, von denen jede alle Tupel der Relation eindeutig identifiziert. Alle diese Attributkombinationen sind mögliche Beziehungsschlüssel. Jeder der möglichen Schlüssel kann als Primärschlüssel ausgewählt werden.

Schlüssel werden häufig für die folgenden Zwecke verwendet:

Beseitigung doppelter Werte in Schlüsselattributen (andere Attribute werden nicht berücksichtigt);

Anordnungen von Tupeln. Es ist möglich, die Werte aller Schlüsselattribute in aufsteigender oder absteigender Reihenfolge sowie in gemischter Reihenfolge (nach einer - aufsteigend und nach anderen - absteigend) zu ordnen;

Organisationen zum Verknüpfen von Tabellen.

Das Konzept eines Fremdschlüssels ist wichtig. Ein Fremdschlüssel kann als eine Menge von Attributen einer Relation R2 definiert werden, deren Werte mit den Werten eines möglichen Schlüssels einer anderen Relation R1 übereinstimmen müssen.

Attribute der K2-Beziehung, die den Fremdschlüssel bilden, sind für diese Beziehung nicht entscheidend.

Verknüpfungen zwischen Beziehungen werden mithilfe von Fremdschlüsseln hergestellt.

Das Entwerfen von Datenbanken von Informationssystemen ist eine ziemlich mühsame Aufgabe. Sie erfolgt auf der Grundlage der Formalisierung der Struktur und der Prozesse des Fachgebiets, dessen Informationen in der Datenbank gespeichert werden sollen. Unterscheiden Sie zwischen konzeptionellem und schematisch-strukturellem Design.

Die Konzeption einer IS DB ist weitgehend ein heuristischer Prozess. Die Angemessenheit des in seinem Rahmen aufgebauten infologischen Modells des Fachgebiets wird empirisch im Prozess des Funktionierens des IS überprüft.

Konzeptionelle Designphasen:

* Studium des Fachgebiets, um sich eine allgemeine Vorstellung davon zu machen;

* Auswahl und Analyse von Funktionen und Aufgaben des entwickelten IS;

* Definition der Hauptobjekte-Entitäten des Fachgebiets
und die Beziehung zwischen ihnen;

* formalisierte Darstellung des Themengebietes.

Beim Entwurf eines relationalen Datenbankschemas lassen sich folgende Vorgehensweisen unterscheiden:

* Festlegung der Liste der Tabellen und der Verknüpfungen zwischen ihnen;

* Bestimmung der Liste von Feldern, Feldtypen, Schlüsselfeldern jeder Tabelle (Tabellenschema), Herstellen von Verknüpfungen zwischen Tabellen durch Fremdschlüssel;

* Einrichtung einer Indexierung für Felder in Tabellen;

* Entwicklung von Listen (Wörterbüchern) für Aufzählungsfelder
Daten;

* Festlegen von Integritätsbeschränkungen für Tabellen und Links;

* Normalisierung von Tabellen, Korrektur der Tabellen- und Linkliste. Das Datenbankdesign erfolgt auf der physischen und logischen Ebene. Das Design auf der physikalischen Ebene erfolgt über ein DBMS und ist oft automatisiert.

Logisches Design besteht darin, die Anzahl und Struktur von Tabellen zu bestimmen, Abfragen an die Datenbank zu entwickeln, Dokumente zu melden, Formulare für die Eingabe und Bearbeitung von Daten in die Datenbank zu erstellen usw.

Eine der wichtigsten Aufgaben des logischen Datenbankdesigns ist die Datenstrukturierung. Folgende Ansätze zur Gestaltung von Datenstrukturen werden unterschieden:

* Kombinieren von Informationen über Entitätsobjekte innerhalb einer Tabelle (eine Beziehung) mit anschließender Zerlegung in mehrere miteinander verbundene Tabellen basierend auf der Normalisierung der Beziehungen;

* die Formulierung von Wissen über das System (Bestimmung der Art der Ausgangsdaten und Beziehungen) und Anforderungen an die Datenverarbeitung, die Beschaffung eines vorgefertigten Datenbankschemas oder sogar eines vorgefertigten Anwendungsinformationssystems mit dem CA5E-System;

* Durchführung von Systemanalysen und Entwicklung von Strukturmodellen.

5. Zweck und Funktionsprinzip von SQL

SQL (oft ausgesprochen "Sequel", kurz für Structured Query Language) steht für Structured Query Language.

SQL ist ein Tool zum Verarbeiten und Lesen von Daten, die in einer Computerdatenbank enthalten sind. Es ist eine Sprache, die es ermöglicht, relationale Datenbanken effizient zu erstellen und mit ihnen zu arbeiten.

Die Welt der Datenbanken wird mehr und mehr vereinheitlicht, was zur Notwendigkeit einer Standardsprache geführt hat, die in einer Vielzahl unterschiedlicher Computerumgebungen funktionieren kann. Die Standardsprache ermöglicht Benutzern, die einen Satz von Befehlen kennen, diese zum Erstellen, Suchen, Modifizieren und Übertragen von Informationen zu verwenden, unabhängig davon, ob sie auf einem PC, einer vernetzten Workstation oder einem Mainframe ausgeführt werden. In einer zunehmend vernetzten Computerwelt hat ein Benutzer, der mit einer solchen Sprache ausgestattet ist, einen enormen Vorteil bei der Verwendung und Synthese von Informationen aus einer Vielzahl von Quellen auf vielfältige Weise.

Wie der Name schon sagt, ist SQL eine Programmiersprache, die verwendet wird, um die Benutzerinteraktion mit einer Datenbank zu organisieren. Tatsächlich funktioniert SQL nur mit relationalen Datenbanken.

6. Infologisches Modell

Bei der Erstellung eines infologischen Modells wurde der Themenbereich der vorgegebenen Datenbank „Curricula der studierten Disziplinen der Richtung des PMI“ analysiert. 4 Objekte wurden vergeben: Curriculum, Discipline, Student, Teacher, sowie zwei zusätzliche Tabellen, die Studenten und Disziplinen sowie zwischen Lehrern und Disziplinen verknüpfen. Das Curriculum-Objekt hat die Attribute: Erstellungsjahr, Curriculum-Nummer. Das Objekt Disziplin hat die folgenden Attribute: Name der Disziplin, Code der Disziplin, Nummer des Curriculums, Anzahl der Vorlesungsstunden, Anzahl der Übungsstunden, Anzahl der Stunden pro Laborarbeiten, Gesamtstunden, Anzahl der Stunden pro Woche, Meldeformular Disziplin, Studiensemester. Das Sudent-Objekt hat die folgenden Attribute: Notenbuchnummer, vollständiger Name. Und das Teacher-Objekt hat die Attribute: Name, Personalnummer, Abteilung, Position, Telefonnummer. Die Objekte Lehrplan und Disziplin stehen in einer 1:n-Beziehung, die Objekte Disziplin und Schüler in einer 1:n-Beziehung und die Objekte Disziplin und Lehrer in einer 1:n-Beziehung.

ER-Diagramme wurden verwendet, um das infologische Modell zu beschreiben:

Bild 1

7. Logisches Modell

Das logische Modell beschreibt die Konzepte des Fachgebiets, ihre Beziehung sowie die durch das Fachgebiet auferlegten Datenbeschränkungen.

Das logische Datenmodell ist der erste Prototyp für die zukünftige Datenbank. Es ist in Form von Informationseinheiten aufgebaut, jedoch ohne Bezug auf ein bestimmtes DBMS. Darüber hinaus muss das logische Datenmodell nicht durch das relationale Datenmodell selbst ausgedrückt werden.

Um ein logisches Modell zu erstellen, wurde jedem Objekt eine Tabelle mit einem bestimmten Satz von Feldern zugewiesen. Da die Objekte Disziplin und Lehrer in einer 1: n-Beziehung miteinander verbunden sind, wird eine zusätzliche Tabelle angezeigt, die die Beziehung zwischen den Objekten Disziplin und Lehrer darstellt: Lehrt.

Insgesamt haben wir 4 Objekte und daher wird es 4 Tabellen zu deren Präsentation geben, das Curriculum-Objekt ist nur informativ, da die Arbeit der Datenbank mit nur einem Curriculum durchgeführt wird:

Es gibt jedoch eine 1: n-Beziehung zwischen den beiden Objekten, daher müssen wir eine weitere Tabelle einführen, um die Beziehungen zwischen diesen Tabellen darzustellen. Dies ist der Disciplina-Prepodavatel-Tisch und der Disciplina-Student-Tisch.

Die vorgestellte Datenbank ist der 5. Normalform zuzuordnen, weil Es ist 3 Normalform und der Primärschlüssel ist einfach. Das Logikdiagramm ist in Microsoft Access implementiert.

Bild 2

8. Aufbau der Tabellen

Die ursprüngliche Datenbank besteht aus 5 Tabellen (die Tabelle Curriculum wird nicht mitgezählt, da ein Curriculum verwendet wird).

Entschlüsselung von Feldern:

v Disciplina.db

Ш Nazv- Disziplinname, Feldtyp: String;

Ш Kod - einzigartiger Disziplincode: LongInt;

Ш Semester - das Semester, in dem gelehrt wird: String;

Ш KolLeKCh - Anzahl der Vorlesungen in dieser Disziplin: LongInt;

Ш KolPraktCh - die Anzahl der Praxen in dieser Disziplin: LongInt;

Ш KolLabRabCh - Anzahl der Vorlesungen in dieser Disziplin: LongInt;

Ш VsegoCh - Gesamtstundenzahl: LongInt;

Ш NomerYP - die Nummer des Curriculums, das die Disziplin enthält: LongInt.

v Student.db

Ш NomerStudBileta - Matrikelnummer: LongInt;

Ш FIO - Nachname des Studenten: ShortInt;

v Prepodaet.db (Disciplina-Prepodavatel)

Ш TabNomerPrepod - Personalnummer des Lehrers, der die entsprechende Disziplin unterrichtet: LongInt;

Ш FIO- Name des Lehrers, der die entsprechende Disziplin unterrichtet: String.

v Prepod.db

Ш FIO - Vollständiger Name des Lehrers: String;

Ш TabelNomerPrepodavaatelya - Eindeutige Personalnummer des Lehrers: LongInt;

Ш Kafedra - die Abteilung, in der er arbeitet: String;

Ш Dolshnost - Position des Lehrers: String;

Ш Telefon - Kontakttelefonnummer des Lehrers: String.

v Izuchaet.db (Disciplina- Student)

Ш KodDiscip- Disziplincode: LongInt;

Ш NomerStudBileta - Matrikelnummer des Studierenden des Faches: LongInt;

W FIO - vollständiger Name des Studierenden, der das entsprechende Fach studiert: String;

Ш Ocenka - studentische Beurteilung im Studienfach: LongInt ;.

9. Entwerfen von SQL-Abfragen

1. Erstellen Sie für jedes Semester eine Liste mit Credits und Prüfungen.

Wählen Sie Nazv, FormaOtchet

wobei Semestr =: s und

(Disciplina.FormaOtchet = "Bestanden" oder Disciplina.FormaOtchet = "Prüfung");

2. Formulieren Sie Prüfungs- und Prüfungsblätter / Haupt- und Ergänzungsblätter / für jedes Fach.

Hauptblatt:

Wählen Sie Prepodaet.FIO,

Disciplina.ObsheeKolChVNed, Disciplina.Semestr, Izuchaet.FIO, Izuchaet.

Ocenka, Disciplina.Nazv

aus Disciplina, Prepodaet, Izuchaet

wobei Disciplina.KodDiscip = Prepodaet.KodDiscip

und (Disciplina.FormaOtchet = "Exam" oder Disciplina.FormaOtchet = "Pass")

Zusatzerklärung (für Studierende mit 2):

Wählen Sie Disciplina.Nazv, Prepodaet.FIO,

Disciplina.ObsheeKolChVNed, Izuchaet.FIO, Disciplina.Semestr, Izuchaet.Ocenka

aus Izuchaet, Disciplina, Prepodaet

wobei Izuchaet.Ocenka = "2"

und Disciplina.KodDiscip = Izuchaet.KodDiscip

und Disciplina.KodDiscip = Prepodaet.KodDiscip

und (Disciplina.FormaOtchet = "Exam" oder Disciplina.FormaOtchet = "Pass");

Disziplin aktualisieren

setze ObsheeKolChVNed = VsegoCh / 17;

4. Bereiten Sie eine Beilage für das Diplom jedes Studenten vor:

auswählen Disciplina.Nazv, Izuchaet.Ocenka, Izuchaet.FIO

aus Izuchaet, Disciplina

wobei Disciplina.KodDiscip = Izuchaet.KodDiscip

und Disciplina.FormaOtchet = "Prüfung"

Wählen Sie AVG (Ocenka) als SrBall

Bestellung nach SrBall desc;

5. Listen Sie die Gruppe in absteigender Reihenfolge der durchschnittlichen Punktzahl auf:

Wählen Sie FIO, AVG (Ocenka) als SrBall

Bestellung nach SrBall desc;

10. Systemaufbau und Funktionen

Die Studienarbeit besteht aus einem Projekt "Projekt1" und 13 Modulen.

1. Unit1 - das Formular wird hier gespeichert, also Titelblatt... Verwendete Komponenten: Memo, Button.

2. Unit2 - Hier wird das Formular gespeichert, das die Startseite der Datenbank ist. Hier werden Komponenten verwendet: Button, Memo.

3. Unit3 - Hier wird das Formular gespeichert, das alle Datenbanktabellen in Form von Registerkarten enthält. Hier kommen die Komponenten zum Einsatz: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

4. Unit4 - hier wird das Formular hinterlegt, auf dem die Aufgabe angezeigt wird. Die Komponenten werden hier verwendet: Memo, Button.

5. Unit5 - Hier ist ein Formular hinterlegt, das ein zusätzliches Prüfungsblatt anzeigt. Hier kommen die Komponenten zum Einsatz: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

6. Unit6 - Hier wird ein Formular gespeichert, das eine Liste von Prüfungen und Tests anzeigt. Hier kommen die Komponenten zum Einsatz: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

7. Unit7 - Hier wird das Formular gespeichert, das den Hauptuntersuchungsbogen anzeigt. Hier kommen die Komponenten zum Einsatz: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

8. Unit8 - Hier wird das Formular gespeichert, das die Liste der Gruppe in absteigender Reihenfolge anzeigt. Hier kommen die Komponenten zum Einsatz: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

9. Unit9 - Hier wird das Formular gespeichert, das die Einfügung im Diplom anzeigt. Hier kommen die Komponenten zum Einsatz: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

10. Unit10 - Hier ist ein Formular hinterlegt, das ein Formular zum Ausfüllen einer elektronischen Abrechnung anzeigt. Hier kommen die Komponenten zum Einsatz: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

11. Unit11 - hier wird das Formular gespeichert, auf dem das Menü angezeigt wird. Hier werden Komponenten verwendet: Memo, Button, Label.

12. Unit12 - Hier ist ein Formular hinterlegt, das einen Bericht über die Erstellung eines elektronischen Prüfungsbogens anzeigt. Die hier verwendeten Komponenten sind Memo und Button, RVProject, RVQueryConnection und Query.

13. Unit13 - Hier wird ein Formular gespeichert, das einen Bericht über die Erstellung einer Beilage in einem Diplom anzeigt. Die hier verwendeten Komponenten sind Memo und Button, RVProject, RVQueryConnection und Query.

11. Benutzerhandbuch

1. Starten Sie das Projekt. Vor uns erscheint die Titelseite der Kursarbeit

Figur 3

Hier können wir sofort in die Datenbank einsteigen, oder wir sehen uns die Aufgabe an und kehren zu diesem Formular zurück. Wir wählen "Aufgabe anzeigen"

2. Vor uns erscheint ein Fenster mit Informationen zur Belegung der Hausarbeit

Figur 4

3. Gehen Sie zurück, indem Sie auf die entsprechende Schaltfläche klicken und beginnen Sie mit der Arbeit, indem Sie auf die Schaltfläche des vorherigen Fensters "Weiter" klicken

Abbildung 5

4. Nachdem Sie die Informationen auf dieser Seite überprüft haben, klicken Sie auf die Schaltfläche "Anmelden"

Abbildung 6

Vor uns erscheint ein Fenster, das in Registerkarten alle in der Datenbank enthaltenen Informationen enthält. Hier können wir die Liste der Fächer, der Studiengruppe, der Lehrer durchsehen, was bestimmte Schüler studieren und welches Fach von den Lehrern unterrichtet wird.

5. Auch von diesem Fenster aus können wir zu Abfragen gehen. Klicken Sie auf die entsprechende Schaltfläche.

Abbildung 7

Hier können wir jede gewünschte Anfrage auswählen, indem Sie einfach auf die entsprechende Schaltfläche klicken. Auch hier können wir zu den Tabellen zurückkehren und mit der Erstellung einer elektronischen Version des Prüfungsbogens fortfahren.

6. Klicken Sie auf die Schaltfläche "Liste der Credits und Prüfungen für jedes Semester anzeigen"

Abbildung 8

Geben Sie hier die Semesternummer ein und klicken Sie auf die Schaltfläche unten, dann erscheint im Tabellenfenster eine Liste der Prüfungen und Tests für das eingegebene Semester. Von diesem Blatt aus können wir zu den Abfragen zurückkehren.

7. Klicken Sie auf die Schaltfläche „Zum Hauptprüfungsblatt gehen“

Hier müssen Sie den Namen der Disziplin aus der Dropdown-Liste auswählen, diesen Namen dann in das Feld unter der Dropdown-Liste eingeben und auf die Schaltfläche "Ausführen" klicken. Die Anfrage zeigt die Gesamtstundenzahl pro Woche für das Studium der von Ihnen eingegebenen Fachrichtung sowie eine Liste der Studierenden dieser Fachrichtung und deren Note für diese Fachrichtung an. Aufmerksamkeit! Das Notenfeld wird im Formular mit Tabellen auf der Registerkarte Schüler-Disziplin ausgefüllt. Auch auf diesem Blatt können Sie ein zusätzliches Prüfungsblatt bilden. Für Schüler mit der Note 2. Von diesem Blatt aus können wir zu den Fragen zurückkehren.

Abbildung 9

8. Klicken Sie auf die Schaltfläche „Gehe zum zusätzlichen Prüfungsblatt“

Abbildung 10

Hier sehen wir Schüler, die in einer bestimmten Disziplin die Note 2 haben. Von diesem Blatt aus können wir zu den Abfragen zurückkehren.

9. Klicken Sie auf die Schaltfläche „Beilage für das Diplom erstellen“

Abbildung 11

Hier müssen Sie den vollständigen Namen des Absolventen eingeben, indem Sie den entsprechenden Studenten aus der Dropdown-Liste auswählen. Drücken Sie dann die Taste. Und dann wird auf Wunsch die Spalte "Disziplin" mit einer Liste der studierten Disziplinen für 5 Studienjahre gefüllt und die entsprechenden Noten erscheinen. Auf demselben Blatt können Sie die elektronische Version der Beilage einsehen, indem Sie auf die Schaltfläche "Druckversion" klicken. Nachdem Sie diese Version angesehen haben, müssen Sie nur das Fenster schließen, das sich mit einem roten Kreuz in der oberen rechten Ecke des Bildschirms öffnet.

Abbildung 12

10. Klicken Sie auf die Schaltfläche "Liste der Gruppe in absteigender Reihenfolge der durchschnittlichen Punktzahl anzeigen"

Abbildung 13

Hier sehen wir die Liste der Gruppe und die Durchschnittsnote für jeden Schüler, in absteigender Reihenfolge. Von diesem Blatt aus können wir zu den Abfragen zurückkehren.

Abbildung 14

Wählen Sie aus der Dropdown-Liste die für uns interessante Disziplin aus, zum Beispiel Wirtschaftswissenschaften, und tragen Sie deren Namen in das Feld unter der Dropdown-Liste ein. Klicken Sie anschließend auf die Schaltfläche Ausführen und sehen Sie sich den Namen des Lehrers dieser Disziplin an.

Abbildung 16

Hier sehen wir den Namen der von uns gewählten Disziplin, den vollständigen Namen des Lehrers dieser Disziplin. Und auch eine Liste von Studenten, die diese Disziplin studiert haben. Um den Bericht zu verlassen, klicken Sie einfach auf das Kreuz in der oberen rechten Ecke des Bildschirms. Wir kehren zum vorherigen Blatt zurück. Von diesem Blatt aus können wir zu den Abfragen zurückkehren.

12. Tabellen erstellen

Zum Erstellen der Tabellen wurden die Database Desktop-Dienstprogramme verwendet. Sie können es ausführen - Start / Programme / Borland Delphi 7 / Database Desktop. Das Arbeitsverzeichnis des Dienstprogramms muss konfiguriert sein. Wählen Sie den Befehl Datei / Arbeitsverzeichnis und legen Sie Ihr Arbeitsverzeichnis fest. Um eine Tabelle zu erstellen, wählen Sie den Befehl Datei / Neu / Tabelle. Dann müssen Sie den Tabellentyp auswählen. Der Typ PARADOX 7 kann als der beste für Dateiservertabellen angesehen werden.

1. YchebPlan-Tabelle erstellen (Lehrplan):

Abbildung 17

5. Erstellung der Disciplina-Tabelle:

Abbildung 18

6. Erstellen der Student-Tabelle:

Abbildung 19

7. Erstellung der Prepodaet-Tabelle (Discipline-Teacher):

Abbildung 20

5. Erstellen Sie eine Prepod-Tabelle (Lehrer):

Abbildung 21

8. Erstellung des Izuchaet-Tisches (Disziplin-Student):

Abbildung 22

13. Erstellen einer Anwendung in Delphi

Um eine neue Anwendung zu erstellen, wählen Sie im Menü Datei den Punkt Neu / Anwendung. Ein Formular und ein Modul erscheinen (im Allgemeinen wird dies als Projekt bezeichnet), nun können Sie die erforderlichen Komponenten auf dem Formular platzieren. Bei Bedarf können Sie ein weiteres Formular (und mehrere) erstellen, dazu müssen Sie im Menü Datei den Punkt Neu / Formular auswählen.

1. Tabelle. Füllen mit Daten. Daten anzeigen.

Um die Tabelle im Formular anzuzeigen, müssen Sie die Komponenten darauf platzieren:

· Tabelle (auf der Registerkarte BDE) - Wählen Sie im Objektinspektor auf der Registerkarte "Parameter" in der Eigenschaft Tabellenname die gewünschte Tabelle aus.

Abbildung 23

· DBGrid (auf der Registerkarte DataControls) - erforderlich, um die Tabelle im Formular anzuzeigen, geben Sie im Objektinspektor in der DataSource-Eigenschaft die erforderliche Datenquelle an.

Abbildung 24

· DBNavigator (auf der Registerkarte DataControls) - erforderlich, um durch Tabellendatensätze zu navigieren. Im Objektinspektor gibt die DataSource-Eigenschaft dieselbe Datenquelle wie im DBGrid an. Navigatorfunktionen sind durch Anklicken der Schaltflächen verfügbar, während die Anwendung ausgeführt wird.Die Komponente enthält 10 Schaltflächen.

Abbildung 25

· DataSource (Registerkarte Datenzugriff) - eine Komponente der Zwischenebene für den Datenzugriff. Dient als Vermittler zwischen DBMS-Tabellen und Bildschirmsteuerungen (DBGrid, DBNavigator).

Abbildung 26

14. Erstellen eines Feldes mit Informationen (Memo) und Schaltflächen

Die Memo-Komponente wird auf dem Formular platziert, das sich auf der Registerkarte Standard befindet.

Abbildung 27

Geben Sie im Objektinspektor auf der Registerkarte "Parameter" in der Eigenschaft Linien den für die Anzeige erforderlichen Text ein

Abbildung 28

Erstellung von Schaltflächen.

Für das korrekte Schließen des Formulars wird darauf eine Button-Komponente platziert, die sich auf der Registerkarte Standard befindet.

Abbildung 29

Damit die Schaltfläche funktioniert, müssen Sie im OnClick-Ereignishandler Folgendes angeben:

Prozedur TForm1.N5Click (Sender: TObject);

Start

Form2.Show;

Form1.Schließen;

Ende;

15. Signaturen für Tabellen erstellen

Um die Tabelle in der Kursarbeit zu signieren, wurde die Label-Komponente verwendet, die sich auf der Registerkarte Standard befindet. Im Objektinspektor in der Caption-Eigenschaft müssen Sie nur den Text schreiben.

Abbildung 30

16. Erstellen Sie eine Dropdown-Liste

Um einen Befehl aus der verfügbaren Liste auszuwählen, verwenden Sie die ComboBox-Komponente (Dropdown-Liste). So kann es ausgefüllt werden

Im Objektinspektor müssen Sie in der Eigenschaft Items Folgendes schreiben:

Abbildung 31

16. Berichte erstellen

Der Bericht wird mit dem QReports-Tool erstellt, das von Anfang an verbunden werden muss: Komponente-> Pakete installieren-> hinzufügen Öffnen Sie den bin-Ordner Wählen Sie die Datei dclqrt70.bpl aus klicken Sie auf OK und dann wird eine Registerkarte mit QReport-Komponenten angezeigt. Komponenten die ich verwende:

Tabelle 2

17. Programmliste

Beschreibung des Projekts

Programm Projekt1;

Verwendet

Formen,

Unit1 in "Unit1.pas" (Form1),

Unit2 in "Unit2.pas" (Form2),

Unit3 in "Unit3.pas" (Form3),

Unit4 in "Unit4.pas" (Form4),

Unit5 in "Unit5.pas" (Form5),

Unit6 in "Unit6.pas" (Form6),

Unit7 in "Unit7.pas" (Form7),

Unit8 in "Unit8.pas" (Form8),

Unit9 in "Unit9.pas" (Form9),

Unit10 in "Unit10.pas" (Form10),

Unit11 in "Unit11.pas" (Form11),

Unit12 in "Unit12.pas" (Form12),

Unit13 in "Unit13.pas" (Form13),

Unit14 in "Unit14.pas" (Form14);

($ R * .res)

Start

Anwendung.Initialisieren;

Application.CreateForm (TForm1, Form1);

Application.CreateForm (TForm2, Form2);

Application.CreateForm (TForm3, Form3);

Application.CreateForm (TForm4, Form4);

Application.CreateForm (TForm5, Form5);

Application.CreateForm (TForm6, Form6);

Application.CreateForm (TForm7, Form7);

Application.CreateForm (TForm8, Form8);

Application.CreateForm (TForm9, Form9);

Application.CreateForm (TForm10, Form10);

Application.CreateForm (TForm11, Form11);

Application.CreateForm (TForm12, Form12);

Application.CreateForm (TForm13, Form13);

Application.CreateForm (TForm14, Form14);

Anwendung.Ausführen;

Ende.

Modulbeschreibung Unit1

Einheit Einheit1;

Schnittstelle

Verwendet

Dialoge, StdStrgs;

Typ

TForm1 = Klasse (TForm)

Memo1: TMemo;

Taste1: TTaste;

Taste2: TTaste;

Taste3: TTaste;

Privatgelände

(Privaterklärungen)

allgemein

(Öffentliche Erklärungen)

Ende;

var

Form1: TForm1;

Implementierung

verwendet Unit2, Unit4, Unit6, Unit7, Unit5, Unit8, Unit9, Unit10;

($ R * .dfm)

Prozedur TForm1.Button3Click (Absender: TObject);

Start

Form2.show;

Ende;

Prozedur TForm1.Button2Click (Sender: TObject);

Start

Form1.Schließen;

Ende;

Prozedur TForm1.Button1Click (Sender: TObject);

Start

Form4.show;

Ende;

Ende.

Modulbeschreibung Unit2

Einheit Einheit2;

Schnittstelle

Verwendet

Fenster, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,

Dialoge, StdStrgs;

Typ

TForm2 = Klasse (TForm)

Memo1: TMemo;

GroupBox1: TGroupBox;

Taste1: TTaste;

Taste2: TTaste;

Prozedur Button1Click (Absender: TObject);

Prozedur Button2Click (Absender: TObject);

Privatgelände

(Privaterklärungen)

allgemein

(Öffentliche Erklärungen)

Ende;

var

Formular2: TForm2;

Implementierung

verwendet Unit3;

($ R * .dfm)

Prozedur TForm2.Button1Click (Sender: TObject);

Start

Form3.show;

Form2.Close;

Ende;

Prozedur TForm2.Button2Click (Absender: TObject);

Start

Form2.Close;

Ende;

Modulbeschreibung Unit3

Einheit Einheit3;

Schnittstelle

Verwendet

Fenster, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,

Dialoge, ComCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables,

StdCtrls, QuickRpt, QRCtrls;

Typ

TForm3 = Klasse (TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

TabSheet6: TTabSheet;

DataSource1: TDataSource;

DataSource2: TDataSource;

DataSource3: TDataSource;

DataSource4: TDataSource;

Tabelle 1: TTabelle;

Tabelle 2: TTabelle;

Tabelle 3: TTabelle;

Tabelle 4: TTabelle;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

DBGrid3: TDBGrid;

DBNavigator3: TDBNavigator;

DBGrid4: TDBGrid;

DBNavigator4: TDBNavigator;

DBGrid5: TDBGrid;

DBNavigator5: TDBNavigator;

DBGrid6: TDBGrid;

DBNavigator6: TDBNavigator;

Taste1: TTaste;

DataSource5: TDataSource;

DataSource6: TDataSource;

Tabelle5: TTabelle;

Tabelle6: TTabelle;

Abfrage1: TQuery;

Taste2: TTaste;

Label1: TLabel;

Memo1: TMemo;

Label3: TLabel;

Taste3: TTaste;

Prozedur Button1Click (Absender: TObject);

Prozedur Button2Click (Absender: TObject);

Prozedur Button3Click (Absender: TObject);

Privatgelände

(Privaterklärungen)

allgemein

(Öffentliche Erklärungen)

Ende;

var

Form3: TForm3;

Implementierung

verwendet Unit5, Unit11;

($ R * .dfm)

Prozedur TForm3.Button1Click (Sender: TObject);

Start

Form11.show;

Form3.close;

Ende;

Prozedur TForm3.Button2Click (Absender: TObject);

Start

Abfrage1.ExecSQL;

Form3.Refresh;

Ende;

Prozedur TForm3.Button3Click (Absender: TObject);

Start

Form3.close;

Ende;

Unit4 Modulbeschreibung

Einheit Einheit4;

Schnittstelle

Verwendet

Fenster, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,

Dialoge, StdStrgs;

Typ

TForm4 = Klasse (TForm)

Memo1: TMemo;

Taste1: TTaste;

Prozedur Button1Click (Absender: TObject);

Privatgelände

(Privaterklärungen)

allgemein

(Öffentliche Erklärungen)

Ende;

var

Form4: TForm4;

Implementierung

verwendet Unit1;

($ R * .dfm)

Prozedur TForm4.Button1Click (Sender: TObject);

Start

Form1.show;

Ende;

Modulbeschreibung der Einheit 5

Einheit Einheit5;

Schnittstelle

Verwendet

Fenster, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,

Dialoge, DB, DBTables, Grids, DBGrids, StdCtrls, Maske, DBCtrls, ExtCtrls;

Typ

TForm5 = Klasse (TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Abfrage1: TQuery;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

DBNavigator1: TDBNavigator;

Taste1: TTaste;

Prozedur ComboBox1Change (Sender: TObject);

Prozedur Edit1Change (Sender: TObject);

Prozedur Button1Click (Absender: TObject);

Privatgelände

(Privaterklärungen)

allgemein

(Öffentliche Erklärungen)

Ende;

var

Form5: TForm5;

Implementierung

verwendet Unit11;

($ R * .dfm)

Prozedur TForm5.ComboBox1Change (Sender: TObject);

Start

Abfrage1.Aktiv: = wahr;

Ende;

Prozedur TForm5.Edit1Change (Sender: TObject);

Start

Abfrage1.Öffnen;

Ende;

Prozedur TForm5.Button1Click (Sender: TObject);

Start

Form11.show;

Form5.Schließen;

Ende;

Beschreibung der Einheit 6

Einheit Einheit6;

Schnittstelle

Verwendet

Fenster, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,

Dialoge, DB, DBTables, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls;

Typ

TForm6 = Klasse (TForm)

Taste1: TTaste;

Bearbeiten1: TEdit;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Abfrage1: TQuery;

Label1: TLabel;

DBNavigator1: TDBNavigator;

Label2: TLabel;

Memo1: TMemo;

Taste2: TTaste;

Label3: TLabel;

Prozedur Button1Click (Absender: TObject);

Prozedur Button2Click (Absender: TObject);

Privatgelände

(Privaterklärungen)

allgemein

(Öffentliche Erklärungen)

Ende;

var

Formular6: TForm6;

Implementierung

verwendet Unit11;

($ R * .dfm)

Prozedur TForm6.Button1Click (Sender: TObject);

Start

Abfrage1.Schließen;

wenn nicht Query1.Prepared then

Abfrage1.Vorbereiten;

wenn Länge (edit1.text)<>0 dann

anders

Start

Abfrage1.Params.Wert: = 0;

Ende;

Abfrage1.Öffnen;

Ende;

Prozedur TForm6.Button2Click (Absender: TObject);

Start

Form11.show;

Form6.Schließen;

Ende;

Modulbeschreibung der Einheit 7

Einheit Einheit7;

Schnittstelle

Verwendet

Fenster, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,

Dialoge, StdCtrls, Grids, DBGrids, DBTables, DB, Maske, DBCtrls, ExtCtrls,

QRCtrls, QuickRpt;

Typ

TForm7 = Klasse (TForm)

Label1: TLabel;

Label2: TLabel;

DataSource1: TDataSource;

Abfrage1: TQuery;

Bearbeiten2: TEdit;

Taste1: TTaste;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Label3: TLabel;

DBGrid1: TDBGrid;

Label4: TLabel;

Label5: TLabel;

DBNavigator1: TDBNavigator;

Taste2: TTaste;

Label6: TLabel;

Label7: TLabel;

Memo1: TMemo;

ComboBox1: TComboBox;

Label8: TLabel;

Taste3: TTaste;

Prozedur Button1Click (Absender: TObject);

Prozedur Button2Click (Absender: TObject);

Prozedur Button3Click (Absender: TObject);

Privatgelände

(Privaterklärungen)

allgemein

(Öffentliche Erklärungen)

Ende;

var

Formular7: TForm7;

Implementierung

verwendet Unit5, Unit11;

($ R * .dfm)

Prozedur TForm7.Button1Click (Sender: TObject);

Start

Abfrage1.Schließen;

wenn nicht Query1.Prepared then

Abfrage1.Vorbereiten;

wenn Länge (edit2.text)<>0 dann

Query1.Params.Value: = edit2.Text

anders

Start

Abfrage1.Params.Wert: = 0;

edit2.Text: = "Bitte geben Sie einen Titel ein!";

Ende;

Abfrage1.Öffnen;

Ende;

Prozedur TForm7.Button2Click (Absender: TObject);

Start

Form5.zeigen;

Form7.close;

Ende;

Prozedur TForm7.Button3Click (Absender: TObject);

Start

Form11.show;

Form7.close;

Ende;

Modulbeschreibung der Einheit 8

Einheit Einheit8;

Schnittstelle

Verwendet

Fenster, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,

Typ

TForm8 = Klasse (TForm)

Label4: TLabel;

DataSource1: TDataSource;

Abfrage1: TQuery;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Taste1: TTaste;

Memo1: TMemo;

Prozedur Button1Click (Absender: TObject);

Privatgelände

(Privaterklärungen)

allgemein

(Öffentliche Erklärungen)

Ende;

var

Formular8: TForm8;

Implementierung

verwendet Unit11;

($ R * .dfm)

Prozedur TForm8.Button1Click (Sender: TObject);

Start

Form11.show;

Form8.close;

Ende;

Modulbeschreibung Einheit 9

Einheit Einheit9;

Schnittstelle

Verwendet

Fenster, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,

Dialoge, Grids, DBGrids, DB, DBTables, StdCtrls, Maske, DBCtrls, ExtCtrls;

Typ

TForm9 = Klasse (TForm)

Bearbeiten1: TEdit;

Abfrage1: TQuery;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Taste1: TTaste;

Abfrage2: TQuery;

DataSource2: TDataSource;

Taste2: TTaste;

DBEdit1: TDBEdit;

DBNavigator1: TDBNavigator;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Name: TComboBox;

Taste3: TTaste;

Memo1: TMemo;

Label4: TLabel;

Taste4: TTaste;

Prozedur Button1Click (Absender: TObject);

Prozedur Button2Click (Absender: TObject);

Prozedur Button3Click (Absender: TObject);

Privatgelände

(Privaterklärungen)

allgemein

(Öffentliche Erklärungen)

Ende;

var

Formular9: TForm9;

Implementierung

verwendet Unit11, Unit13;

($ R * .dfm)

Prozedur TForm9.Button1Click (Sender: TObject);

Start

Abfrage1.Schließen;

wenn nicht Query1.Prepared then

Abfrage1.Vorbereiten;

wenn Länge (edit1.text)<>0 dann

Query1.Params.Value: = edit1.Text

anders

Start

Abfrage1.Params.Wert: = 0;

edit1.Text: = "Bitte geben Sie den Namen des Alumnus ein!";

Ende;

Abfrage1.Öffnen;

Ende;

Prozedur TForm9.Button2Click (Sender: TObject);

Start

Abfrage2.Schließen;

wenn nicht Query2.Prepared then

Abfrage2.Vorbereiten;

wenn Länge (edit1.text)<>0 dann

Query2.Params.Value: = edit1.Text

anders

Start

Abfrage2.Params.Wert: = 0;

edit1.Text: = "Bitte Semesternummer eingeben!";

Ende;

Abfrage2.Öffnen;

Ende;

Prozedur TForm9.Button3Click (Absender: TObject);

Start

Form11.show;

Form9.close;

Ende;

Prozedur TForm9.Button4Click (Sender: TObject);

Start

Form13.QuickRep1.Preview;

Ende;

Gerätebeschreibung 10

Einheit Einheit10;

Schnittstelle

Verwendet

Fenster, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,

Dialoge, ExtCtrls, QuickRpt, StdCtrls, DB, DBTables, Maske, DBCtrls,

Gitter, DBGrids;

Typ

TForm10 = Klasse (TForm)

Taste1: TTaste;

Abfrage1: TQuery;

DataSource1: TDataSource;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Label1: TLabel;

Label2: TLabel;

Bearbeiten1: TEdit;

Taste2: TTaste;

Label3: TLabel;

ComboBox1: TComboBox;

Label4: TLabel;

Label5: TLabel;

Memo1: TMemo;

Label6: TLabel;

Label7: TLabel;

Taste3: TTaste;

Prozedur Button1Click (Absender: TObject);

Prozedur Button2Click (Absender: TObject);

Prozedur Button3Click (Absender: TObject);

Privatgelände

(Privaterklärungen)

allgemein

(Öffentliche Erklärungen)

Ende;

var

Formular10: TForm10;

Implementierung

verwendet Unit3, Unit7, Unit12, Unit11;

($ R * .dfm)

Prozedur TForm10.Button1Click (Sender: TObject);

Start

Form12.QuickRep1.Preview;

Ende;

Prozedur TForm10.Button2Click (Absender: TObject);

Start

Abfrage1.Schließen;

wenn nicht Query1.Prepared then

Abfrage1.Vorbereiten;

wenn Länge (edit1.text)<>0 dann

Query1.Params.Value: = edit1.Text

anders

Start

Abfrage1.Params.Wert: = 0;

edit1.Text: = "Bitte geben Sie einen Titel ein!";

Ende;

Abfrage1.Öffnen;

Ende;

Prozedur TForm10.Button3Click (Absender: TObject);

Start

Form11.show;

Ende;

Beschreibung der Einheit 11

Einheit Einheit11;

Schnittstelle

Verwendet

Fenster, Nachrichten, SysUtils, Varianten, Klassen, Grafiken, Steuerelemente, Formulare,

Dialoge, StdStrgs;

Typ

TForm11 = Klasse (TForm)

Taste1: TTaste;

Taste2: TTaste;

Taste3: TTaste;

Taste4: TTaste;

Taste5: TTaste;

Taste6: TTaste;

Memo1: TMemo;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Taste7: ​​TTaste;

Label4: TLabel;

Label5: TLabel;

Prozedur Button2Click (Absender: TObject);

Prozedur Button1Click (Absender: TObject);

Prozedur Button4Click (Absender: TObject);

Prozedur Button3Click (Absender: TObject);

Prozedur Button5Click (Absender: TObject);

Prozedur Button6Click (Absender: TObject);

Prozedur Button7Click (Absender: TObject);

Privatgelände

(Privaterklärungen)

allgemein

(Öffentliche Erklärungen)

Ende;

var

Form11: TForm11;

Implementierung

Ähnliche Dokumente

    Erstellen von Tabellen und Design von Datenbankmanagementsystemen. Infologisches Design. Schema einer relationalen Datenbank. Der angewandte Wert von Systemen: ein Bericht über Lieferanten und die von ihnen gelieferten Waren. Erklärung zur Warenverfügbarkeit im Geschäft.

    Hausarbeit, hinzugefügt am 01.12.2008

    Aufbau einer Datenbank mit Informationen über Mitarbeiter, Waren, mit einem Nachschlagewerk für Warenarten mit Hilfe des MySQL-Datenbankverwaltungssystems unter Verwendung von SQL-Abfragen. Entwicklung eines infologischen Modells des Themengebietes. Die Struktur von Tabellen, Datenbankfeldern.

    Test, hinzugefügt am 13.04.2012

    Der Prozess des Entwurfs einer Datenbank, der ihre logische Struktur in Übereinstimmung mit dem infologischen Modell des Fachgebiets entwickelt. Arbeiten mit dem Access DBMS-Programm, Eigenschaften von Tabellen und deren Feldern, Erstellen von Verknüpfungen zwischen Tabellen; Infologische Gestaltung.

    Hausarbeit, hinzugefügt am 17.12.2009

    Grundbegriffe von Datenbanken und Datenbankmanagementsystemen. Die Datentypen, mit denen Microsoft Access-Datenbanken arbeiten. Klassifizierung von DBMS und ihre Hauptmerkmale. Postrelationale Datenbanken. Trends in der Welt moderner Informationssysteme.

    Hausarbeit, hinzugefügt am 28.01.2014

    Merkmale der Entwicklung eines Infologischen Modells und der Erstellung einer relationalen Datenbankstruktur. Grundlagen des Datenbankdesigns. Entwicklung von Tabellen, Formularen, Abfragen zur Anzeige von Informationen über das entsprechende Modell. Arbeiten mit Datenbanken und deren Objekten.

    Hausarbeit, hinzugefügt am 05.11.2011

    Untersuchung von Eigenschaften und Funktionalität Datenbankmanagementsystem Microsoft Office Zugriff. Definition der Hauptklassen von Objekten. Entwicklung der Datenbank "Büroarbeit". Erstellen Sie Tabellen, Formulare, Abfragen, Berichte und Datenschemata.

    Zusammenfassung hinzugefügt am 05.12.2014

    Entwicklungstrend von Datenbankmanagementsystemen. Hierarchische und Netzwerk-DBMS-Modelle. Grundvoraussetzungen für verteilte Basis Daten. Verteilte Abfrageverarbeitung, Interoperabilität. Datenreplikationstechnologie und mehrstufige Architektur.

    Zusammenfassung, hinzugefügt am 29.11.2010

    Theoretische Informationen und grundlegende Konzepte von Datenbanken. Datenbankverwaltungssysteme: Zusammensetzung, Struktur, Sicherheit, Funktionsweisen, Objekte. Arbeiten mit Datenbanken in OpenOffice.Org BASE: Erstellen von Tabellen, Links, Abfragen mit dem Abfrageassistenten.

    Hausarbeit, hinzugefügt am 28.04.2011

    Aufbau einer Datenbank eines Systems zur Annahme, Bearbeitung und Erfassung von Anträgen an den Fachbereich Informationstechnologien; Entwicklung infologischer und datalogischer Modelle, Implementierung eines physikalischen Modells. Erstellung von Anwendungen zur Visualisierung der Arbeit mit der Datenbank.

    Diplomarbeit, hinzugefügt am 25.01.2013

    Zuordnung von Informationsobjekten und deren infologisches Modell. Die logische Struktur einer relationalen Datenbank. Entwicklung von Tabellen im Datenbankverwaltungssystem Access. Erstellung von Abfragen, Formularen und Berichten im Access DBMS. Entwicklung von Benutzeranwendungen.

ENTWICKLUNG EINER ANWENDUNG ZUM ARBEITEN MIT DATENBANKEN

Roza Gaynanova

Lehrbeauftragter des Fachbereichs Allgemeine Pädagogik

Kasaner Nationale Forschungs-Technische Universität

Russland, Kasan

ANMERKUNG

Der Artikel beschreibt Methoden für den Zugriff auf Datenbanken und die in diesen Zugriffsmethoden verwendeten Programmierschnittstellen. Betrachtet wird die Integration von Visual C#-Anwendungen mit dem DBMS Microsoft SQL Server 2012. Als Beispiel wird die Entwicklung des Informationssystems „Reisebüro“ betrachtet.

ABSTRAKT

Der Artikel untersucht die Zugriffsmethoden auf Datenbanken und die bei diesen Zugriffsmethoden verwendeten Softwareschnittstellen. Wir betrachten die Integration von Visual C#-Anwendungen mit dem Microsoft SQL Server 2012-Datenbankserver. Als Beispiel wird die Entwicklung des Informationssystems "Tourist Agency" betrachtet.

Stichworte: Datenbank, SQL Server, Anwendung, Benutzer, Steuerung, Abfrage.

Schlüsselwörter: Datenbank, SQL Server, Anwendung, Benutzer, Steuerelement, Abfrage.

Ein Informationssystem ist ein miteinander verbundener Satz von Werkzeugen, Methoden und Personal, der verwendet wird, um Informationen zu speichern, zu verarbeiten und auszugeben, um ein festgelegtes Ziel zu erreichen. Das entwickelte Informationssystem wird in Client-Server-Technologie aufgebaut. In solchen Systemen werden Informationen auf einem Server gespeichert, und die Informationssystemschnittstelle wird auf Client-Computern gespeichert, über die Benutzer des Informationssystems Zugriff auf Daten erhalten.

Bei der Entwicklung eines Informationssystems sind zwei Hauptaufgaben zu lösen:

  • die Aufgabe, eine Datenbank zum Speichern von Informationen zu entwickeln;
  • die Aufgabe, eine grafische Benutzeroberfläche für Client-Anwendungen zu entwickeln.

Die Datenbank „Reisebüro“ wird auf dem Microsoft SQL Server 2012 erstellt. Die Datenbank speichert Informationen über die Kunden dieses Reisebüros (Touristen), über die ihnen angebotenen Touren, über die Registrierung und Zahlung von Gutscheinen. In der Entwurfsphase der Datenbank werden die Tabellen "Touristen", "Touren", "Gutscheine", "Jahreszeiten", "Zahlung" erstellt. Zwischen Tabellen werden Verknüpfungen hergestellt.

Die Reisebüroanwendung wird vom Reisebüroleiter, Verkaufsleitern, Buchhaltern, Kassierern und Reisebüromitarbeitern verwendet. Einer der Büromitarbeiter wird vom Systemadministrator ernannt. Nur er wird Benutzerkonten führen. Zusätzlich zu den fünf Haupttabellen wird die Tabelle "Benutzer" erstellt, die Informationen zu den Datenbankbenutzern enthält. Diese Tabelle hat keinen Bezug zu anderen Tabellen. Die Struktur dieser Tabelle: Benutzercode, Nachname, Position, Login und Passwort. Nur ein Systemadministrator kann Änderungen an dieser Tabelle vornehmen.

Die SQL Server-Sicherheit basiert auf zwei Konzepten: Authentifizierung und Autorisierung. Der Administrator des SQL Server-Sicherheitssystems erstellt für jeden Benutzer ein separates Anmeldeobjekt. Dieses Objekt enthält den SQL Server-Benutzerkontonamen, das Kennwort, den vollständig qualifizierten Namen und andere Attribute zur Steuerung des Zugriffs auf SQL Server-Datenbanken. Durch die Verbindung mit SQL Server erhält der Benutzer Zugriff auf die Datenbanken, in denen sein Konto registriert ist. Um ein Konto in einer bestimmten Datenbank zu registrieren, erstellt der Systemadministrator darin einen Datenbankbenutzernamen und verknüpft ihn mit einem bestimmten Konto... Der Systemadministrator gewährt Benutzern bestimmte Berechtigungen. Der Verkaufsleiter kann nach dem Verkauf des nächsten Tickets Änderungen an den Tabellen "Touristen", "Touren" vornehmen und die Spalte "Number_of_Seats" in der Tabelle "Touren" ändern. Ein Mitarbeiter des Reisebüros kann Änderungen an den Tabellen "Jahreszeiten" und "Touren" vornehmen. Buchhalter und Kassierer - in der Tabelle "Zahlung".

Sie können Berechtigungen in SQL Server Management Studio erteilen, indem Sie die Eigenschaftenfenster für den entsprechenden Benutzer öffnen. Sie können Berechtigungen auch mit der GRANT-Anweisung darstellen. Beispiele für die Erteilung von Befugnissen an einen Manager. Nächste Anweisung gewährt dem Menedger-Benutzer das Recht, die Tabelle "Touristen" anzuzeigen, zu ändern, neue Zeilen einzufügen und veraltete Daten zu löschen.

USE Reisebüro

GRANT AUSWÄHLEN, AKTUALISIEREN, EINFÜGEN, LÖSCHEN

ON Touristen

Eine ähnliche Anleitung wird für die Arbeit mit der Tabelle "Touren" erstellt. Um dem Manager das Recht zu geben, nur eine Spalte der Tabelle "Touren" zu ändern, wird der Name der variablen Spalte Tours (Anzahl der Sitzplätze) in Klammern hinter dem Tabellennamen angegeben. Bereitgestellte SELECT-, UPDATE-Operationen.

Es gibt vier Anweisungen in der Data Control Language (DCL): COMMIT, ROLLBACK, GRANT, REVOKE. Alle diese Anweisungen beziehen sich auf den Schutz der Datenbank vor versehentlicher oder vorsätzlicher Beschädigung. Datenbanken sind genau dann angreifbar, wenn Änderungen an ihnen vorgenommen werden. Um die Datenbank zu schützen, ist SQL auf Operationen beschränkt. Welche kann es ändern, so dass sie nur innerhalb von Transaktionen ausgeführt werden. Wenn mehrere Benutzer gleichzeitig versuchen, dieselbe Datenbanktabelle zu verwenden, entsteht eine gleichzeitige Zugriffssituation. Parallelitätsprobleme treten selbst bei relativ einfachen Anwendungen auf, wenn die Anwendung auf einem Mehrbenutzersystem installiert ist und ausgeführt wird, das keine ausreichende Parallelitätssteuerung hat. Es gibt keinen Transaktionskonflikt, wenn sie sequentiell ausgeführt werden.

Eines der wichtigsten Werkzeuge zum Aufrechterhalten der Integrität einer Datenbank ist eine Transaktion. Eine Transaktion kapselt alle SQL-Anweisungen, die sich auf die Datenbank auswirken können. Die SQL-Transaktion endet mit einer von zwei Anweisungen: COMMIT oder ROLLBACK. Wenn die Transaktion mit einer ROLLBACK-Anweisung endet, werden alle ihre Anweisungen abgebrochen und die Datenbank wird in ihren ursprünglichen Zustand zurückversetzt. Eine normale Transaktion kann in einem von zwei Modi ausgeführt werden: READ-WRITE (Read-Write) oder READ-ONLY (Read-only). Die Transaktion kann auf eine der folgenden Isolationsstufen gesetzt werden: SERIAIZABLE (sequentielle Ausführung), REPEATABLE READ (wiederholtes Lesen), READ UNCOMMITED (unbestätigte Daten lesen). Die Standardfunktionen sind READ-WRITE und SERIAIZABLE. Die standardmäßigen SQL-Transaktionsmerkmale sind im Allgemeinen für die meisten Benutzer geeignet.

Die Anwendung wird in Visual Studio 2012 mit der Programmiersprache C# erstellt. Das Entwerfen eines Softwareprodukts beginnt mit der Entwicklung einer Benutzeroberfläche.

Das Hauptanwendungsfenster sollte die Hauptfunktionen für die Arbeit mit der Anwendung aufrufen (Abbildung 1). Das Menü wird verwendet, um diese Operationen durchzuführen. Das Menü besteht aus folgenden Punkten: "Tabellen", "Abfragen", "Berichte". Jede dieser Klauseln enthält Unterklauseln. Jede Funktion wird in einem eigenen Fenster ausgeführt. Das MenuStrip-Element wird im Hauptanwendungsfenster installiert und Menüoptionen werden gebildet. Das PictureBox-Element wird im Formularfenster platziert. In den Elementbereich wird ein Bild geladen. Die Zeichnung sollte den gesamten Bereich abdecken. Die SizeMode-Eigenschaft legt die Skalierung des Bilds fest. Für diese Eigenschaft wird StretchImage aus der Dropdown-Liste ausgewählt, die Zeichnung wird so skaliert, dass sie die gesamte Oberfläche des Objekts einnimmt.

Das comboBox-Steuerelement wird installiert, um eine Liste der Benutzer anzuzeigen, die das Recht haben, mit der Reisebürodatenbank zu arbeiten. Das ComboBox-Element bindet an eine Datenquelle. Das Fenster " MITomboBoxAufgaben", in dem das Kontrollkästchen "Datengebundene Elemente verwenden" aktiviert ist. Wenn dieses Kontrollkästchen aktiviert ist, öffnen sich die Datenbindungsoptionen. Das ComboBox-Element ist an die Benutzertabelle gebunden, und Nachname ist in der Zeile Mitglied anzeigen ausgewählt. Zur Eingabe des Logins wird das Steuerelement textbox1 installiert, zur Eingabe des Passworts textBox2. Für die Elemente textBox1 und textBox2 wird die UsesSystemPasworChar-Eigenschaft auf true gesetzt, was angibt, ob der Text im Textfeld mit den Standardkennwortzeichen angezeigt werden soll. Es sind zwei Befehlsschaltflächen „Login“ und „Change user“ installiert.

Wenn Sie ein ComboBox-Element an die Benutzertabelle binden, wird der Form1_Load-Ereignishandler im Programmcode des Formulars angezeigt.

private void Form1_Load (Objektsender, EventArgs e)

this.usersTableAdapter1.Fill (this.tour AgencyDataSet10.Users);

Beim Starten der Anwendung ist das Menü nicht verfügbar. Um das System zu betreten, müssen Sie Benutzerdaten eingeben und auf die Schaltfläche "Anmelden" klicken. Beim Laden des Formulars werden die in der Benutzertabelle enthaltenen Benutzernachnamen in das ComboBox1-Steuerelement geladen. In diesem Handler werden Zeilen hinzugefügt, die Menüs unzugänglich machen, die Schaltfläche "Benutzer wechseln" und im ComboBox1-Element ist keines der Elemente ausgewählt:

menuStrip1.Enabled = false; comboBox1.SelectedIndex = -1;

button2.Enabled = false;

Abbildung 1. Ansicht des Hauptanwendungsfensters

Wenn Sie auf die Schaltfläche „Login“ klicken, wird geprüft, ob in der Tabelle „Benutzer“ ein Benutzer mit dem angegebenen Nachnamen vorhanden ist und ob Login und Passwort korrekt eingegeben wurden. Der Beschreibungsbereich der Formularklasse beschreibt die an den SQL-Befehl übergebenen Parameter. Dies sind drei Parameter: Nachname, Benutzername und Passwort des Benutzers.

private Zeichenfolge parfam, parpasw, parlog;

Die Zeile wird dem Namensraum hinzugefügt:

Verwenden von System.Data.SqlClient;

// Ereignishandler für das Klicken auf die Schaltfläche "Anmelden"

string sql = "";

string connstr = @ "Datenquelle = B302CN-8 \ TEST_SQL; Anfangskatalog = Reisebüro; Integrierte Sicherheit = True";

SqlDataReader cmReader;

parfam = comboBox1.Text; parlog = textBox1.Text;

SqlConnection conn = neue SqlConnection (connstr);

sql = "SELECT Nachname, Login, Passwort VON Benutzern" +

"WHERE (Nachname = @fam) und (Passwort [E-Mail geschützt])";

SqlCommand cmdkod = new SqlCommand (sql, conn);

cmdkod.Parameters.Add (neuer SqlParameter ("@ fam", SqlDbType.NChar, 25));

cmdkod.Parameters ["@fam"]. Wert = parfam;

cmdkod.Parameters.Add (neuer SqlParameter ("@ pasw", SqlDbType.NChar, 10));

cmdkod.Parameters ["@ pasw"]. Wert = parpasw;

cmdkod.Parameters.Add (neuer SqlParameter ("@ log", SqlDbType.NChar, 15));

cmdkod.Parameters ["@ log". Wert = parlog;

if (! cmReader.Read ())

MessageBox.Show ("Falsches Passwort!");

cmReader.Close (); Anschl.Schließen ();

menuStrip1.Enabled = true; comboBox1.SelectedIndex = -1;

button1.Enabled = false; button2.Enabled = true;

textBox1.Text = ""; textBox1.Enabled = false;

textBox2.Text = ""; textBox2.Enabled = false;

comboBox1.Enabled = false;

cmReader.Close ();

private void button2_Click (Objektsender, EventArgs e)

menuStrip1.Enabled = false; comboBox1.Enabled = true;

textBox1.Enabled = true; textBox2.Enabled = true;

button1.Enabled = true; button2.Enabled = false;

Beschreibung der Bedienung des Eventhandlers zum Drücken der "Enter"-Taste.

Die Zeichenfolge connstr enthält die Verbindungszeichenfolge. Die sql-Zeile schreibt den Text der generierten Abfrage, beginnend mit der select-Anweisung, danach werden die auswählbaren Felder aus den Tabellen aufgelistet, die nach dem Wort from angegeben sind.

Der Handler erstellt eine neue Instanz des SqlConnection-Objekts, das eine Verbindung zum SQL-Server bereitstellt. Das SqlCommand-Objekt enthält einen Befehl mit drei Parametern zum Durchsuchen der Benutzertabelle nach einem Benutzer mit dem angegebenen Nachnamen, Benutzernamen und Kennwort. Der button1_Click-Handler öffnet eine SqlConnection. Der Handler führt dann den im cmdkod-Objekt gespeicherten SQL-Befehl aus.

cmReader = cmdkod.ExecuteReader ();

Als Ergebnis der Ausführung der Methode ExecuteReader wird ein Objekt der Klasse SqlDataReader erstellt, mit dem Sie alle Ausführungszeilen sequentiell lesen können SQL-Befehle... Zur Auswahl wird die Methode SqlDataReader verwendet. Lesen. Wenn die Tabelle "Benutzer" keine Datensätze mit dem angegebenen Nachnamen, Benutzernamen und Kennwort enthält, gibt die Methode cmReader.Read() false zurück. Dies bedeutet, dass Sie einen falschen Benutzernamen oder ein falsches Passwort eingegeben haben. In diesem Fall wird eine Meldung über ungültige eingegebene Daten angezeigt und die cmReader- und SqlConnection-Objekte werden geschlossen. Bei korrekter Eingabe der Benutzerdaten werden das Menü und die Schaltfläche "Benutzer wechseln" verfügbar. Die Schaltfläche "Anmelden" wird nicht mehr verfügbar. Die Elemente textBox1 und textBox2 werden gelöscht und nicht verfügbar gemacht. Auch das ComboBox1-Element wird unzugänglich (Abbildung 2)

Abbildung 2. Ansicht des Hauptfensters nach der Anmeldung des Benutzers am System

Die Tabellen und Abfrageergebnisse werden in den DataGridView-Steuerelementen angezeigt. Der Hauptzweck dieser Elemente ist die Verknüpfung mit Tabellen externer Datenquellen, hauptsächlich mit Datenbanktabellen. Zur bequemen Anzeige und Eingabe neuer Einträge werden die Tabellen "Saisons", "Touren" und "Touren", "Zahlung" jeweils zu zweit in einem Fenster angezeigt. Jedes DataGridView-Steuerelement ist einer entsprechenden Tabelle in der Reisebürodatenbank zugeordnet. In diesem Fenster wird die Tabelle „Touristen“ ausgewählt (Abbildung 3). Wenn Sie die Verbindung herstellen (klicken Sie auf Fertig stellen), werden die Komponenten DataSet, BindingSource und TableAdapter im Formular angezeigt. Diese Komponenten sind nicht visuell und werden daher im zusätzlichen Bereich angezeigt. DataSet ist ein spezialisiertes Objekt, das ein Datenbankimage enthält. Um die Interaktion zwischen dem DataSet und der eigentlichen Datenquelle zu implementieren, wird ein Objekt vom Typ TableAdapter verwendet. Schon der Name dieses Objekts - Adapter, Konverter - weist auf seine Natur hin. Der TableAdapter enthält Fill- und Update-Methoden, die direkte und Rückwärtsgang Daten zwischen dem DataSet und der in der SQL Server-Datenbank gespeicherten Tabelle. Die Fiil-Methode füllt das DataSet mit Daten vom SQL-Server und das Update aktualisiert die Serverdatenbank SQL-Daten aus dem lokalen DataSet. Die BindingSource-Komponente erleichtert das Binden von Steuerelementen in einem Formular an Daten. Die Haupteigenschaft der BindingSource-Komponente ist die Data Source-Eigenschaft, die auf die Datenquelle zeigt.

Nachdem die Tabellen mit Datenquellen verbunden sind, wird der Ereignishandler Form2_Load im Programmcode des Formulars angezeigt.

private void Form2_Load (Objektsender, EventArgs e)

this.touristsTableAdapter.Fill (this.ReisebüroDataSet9.Tourists);

Wenn das Formular geladen wird, werden die in der Tourists-Tabelle enthaltenen Daten im DataGridView-Steuerelement im Form2-Formularfenster angezeigt. Sie können Änderungen an der Tabelle vornehmen und neue Datensätze hinzufügen. Nachdem Sie die Änderungen vorgenommen haben, klicken Sie auf die Schaltfläche "Touristen speichern". Der Ereignishandler für das Klicken auf die Schaltfläche "Touristen speichern":

private void button1_Click (Objektsender, EventArgs e)

SeasonsTableAdapter.Update (ReisebüroDataSet9);

MessageBox.Show ("Daten gespeichert");

Abbildung 3. Ansicht des Fensters mit der Tabelle „Touristen“

Jede Anfrage wird zugeordnet zu separates Fenster... Im Form1-Fenster wird dem Menü "Anfragen" ein neues Element mit dem Namen der Anforderung hinzugefügt. Wenn die Abfrage keine Parameter hat, wird ein DataGridView-Steuerelement im Formularfenster installiert, um die Ergebnisse der Abfrageausführung anzuzeigen und an die entsprechende Prozedur oder Datenbankfunktion zu binden.

In diesem Artikel werden einige Methoden zum Entwickeln von Anwendungen beschrieben, die mit Datenbanken arbeiten, eine Möglichkeit zum Organisieren des Zugriffs für die Arbeit mit einer begrenzten Anzahl von Personen, Möglichkeiten zum Integrieren von Visual C #-Anwendungen in einen Microsoft SQL Server 2012-DBMS-Server. Programmiersprache mit SQL können Sie leistungsstarke Anwendungen mit einer Vielzahl von Fähigkeiten erstellen. Die Hauptstärke von SQL liegt im Datenabruf. Egal wie viele Zeilen die Tabelle enthält, sie können mit einem einzigen abgerufen werden SELECT-Anweisungen... Gleichzeitig ist der Hauptnachteil der SQL-Sprache ihre unterentwickelte Benutzeroberfläche. Mithilfe von Verfahrenssprachen können Sie benutzerfreundliche Oberflächen für die Eingabe und Anzeige von Daten erstellen. Die gebräuchlichste Technik zum Kombinieren von SQL mit prozeduralen Sprachen wird als SQL-Injection bezeichnet. Die SQL-Anweisung wird an der gewünschten Stelle im Prozedurprogramm eingefügt. Informationen müssen zwischen einem in einer prozeduralen Sprache geschriebenen Programm und dem SQL-Code fließen. Dazu werden Basisvariablen verwendet. Damit SQL diese Variablen erkennt, müssen sie deklariert werden. Variablen werden im Klassenbeschreibungsbereich des Formulars vor der Codebeschreibung deklariert. Im Code stellt das neu erstellte SqlConnection-Objekt eine Verbindung zum SQL-Server bereit. Das SqlCommand-Objekt ermöglicht die Ausführung des eingebetteten SQL-Befehls.

Referenzliste:

  1. Allen Taylor. SQL für Dummies, 8. Auflage: Per. aus dem Englischen - M.: LLC „I.D. Williams ”, 2014. - 416 S.
  2. Gaynanova R.Sh. Entwicklung von Anwendungen für die Arbeit mit Datenbanken MS SQL Server 2012 // Grundlagen- und angewandte Wissenschaften heute: Materialien der XI international praktische Konferenz(10.-11. April 2017 Noth Charleston, USA), Band 3 - S. 34-41.
  3. Frolov A. V., Frolov G. V. Visuelles Design von C#-Anwendungen. - M.: KUDRITS-OBRAZ, 2003, - 512s.

Fast jede Organisation hat ihre eigene Datenbank. Aber was wirklich da ist, sogar Websites verwenden sie, um die Arbeit mit Informationen immer einfacher zu machen. Sie ermöglichen es Ihnen, problemlos Berechnungen durchzuführen, die benötigten Daten schnell zu finden und im Allgemeinen einfach Ordnung in allen Informationen zu schaffen.

Oft sind Programmierer an ihrer Erstellung beteiligt, weil es schwieriger Prozess, das an Hochschulen gelehrt wird. Es gibt auch viele Lektionen, Kurse und Programmsätze zum Erstellen von Software für die Entwicklung von Datenbanken, eine wirklich große Vielfalt, die Sie leicht verwirren können. In diesem Artikel werden einige der grundlegenden Programme für die Datenbankentwicklung erläutert.

Über SQL

SQL ist eine Programmiersprache zum Erstellen von Datenbanken. Wenn Sie es auf Ihrem Computer installieren und mit dem Erstellen einer Datenbank beginnen, ist dies nicht sehr praktisch. Dies liegt daran, dass SQL selbst keine grafische Shell besitzt und Anfragen an die Datenbank generell über . gesendet werden müssen Befehlszeile... Aus diesem Grund sind verschiedene Arten von Programmen erschienen, die die Entwicklung von Datenbanken vereinfachen. Trotzdem lohnt es sich, die Grundlagen dieser Sprache zu lernen. Plötzlich müssen Sie eine Anfrage stellen und das Programm funktioniert nicht richtig.

Microsoft Access

Dieses Programm zum Erstellen von Datenbanken ist vielen genau bekannt. Immerhin kommt sie in einem Paket Microsoft-Programme Sekretariat. Dieses Programm ist eines der am einfachsten zu erlernenden Programme, da dort praktisch keine Kenntnisse der Programmiersprache SQL erforderlich sind. Sie können nur festlegen, welche Abfrage durchgeführt werden soll, und das Programm erstellt die SQL-Abfrage selbst.

Über die Relevanz des Programms. Bisher wurden die Datenbanken vieler Organisationen mit Microsoft Access erstellt. Tatsächlich ist das Programm selbst sehr leicht, es gibt eine intuitive Benutzeroberfläche. Darüber hinaus werden die Grundlagen des Arbeitens in Access sogar in der Schule und im Erstkurse Hochschule!

PhpMyAdmin

Access ist natürlich ein gutes Programm, aber wenn Sie eine Datenbank für eine Website benötigen, wird es nicht funktionieren. Dann kommt PhpMyAdmin zur Rettung. Das ist sehr nützliches Programm Datenbanken zu erstellen. Die Installation auf einem Computer dauert einige Zeit, und während der Installation kann leicht etwas falsch gemacht werden und es funktioniert nicht. Daher müssen Sie bei der Installation dieses Programms zum Erstellen von Datenbanken genau die Anweisungen befolgen. Aber ein weiteres Plus von PhpMyAdmin ist, dass es als Website über das Internet zugänglich ist! Sie haben beispielsweise eine Website, die von WordPress unterstützt wird. Er wird eine Datenbank haben. Und wenn Sie eine Site auf einem guten Hosting haben, wird die Arbeit mit Datenbanken höchstwahrscheinlich über PhpMyAdmin ausgeführt, und Sie können über das Hosting-Control-Panel darauf zugreifen.

Ein weiteres Programm zum Erstellen von Datenbanken. Es ist kostenlos, aber es gibt auch eine kostenpflichtige Version mit verbesserten Funktionen. Es ist einfach, in diesem Programm Verknüpfungen mit Tabellen zu erstellen, und im Allgemeinen ist es einfach bequem, damit zu arbeiten. Ein Pluspunkt ist auch, dass Sie die Datenbank in grafischer Form anzeigen können. Die meisten Leute bevorzugen dieses Programm, wenn sie mit Datenbanken arbeiten. Grundsätzlich ist PhpMyAdmin in seinen Fähigkeiten nicht unterlegen, aber dennoch ist es eher für die Arbeit mit einer Datenbank von Sites gedacht.

In diesem Artikel wurden die grundlegenden Programme zum Erstellen von Datenbanken behandelt. Tatsächlich gibt es viele davon, also wählt jeder ein Werkzeug für sich aus, aber wenn Sie gerade erst anfangen und dieses Gebiet studieren möchten, dann empfiehlt es sich, mit MySQL WorkBench zu arbeiten. Sobald Sie die Grundlagen von SQL gelernt haben, macht es für Sie keinen großen Unterschied, wo Sie arbeiten, da die Abfragen überall gleich sind. Es ist auch praktisch, dass Sie, nachdem Sie eine Datenbank in einem Programm erstellt haben, diese über eine andere Software öffnen können, die ebenfalls für die Arbeit mit der Datenbank entwickelt wurde. Bei der Erstellung von Software mit Datenbank können Sie auf dieses Wissen nicht verzichten. Darüber hinaus können Sie, wenn Sie SQL beherrschen, sogar Ihre eigene Software zum Entwickeln und Bearbeiten von Datenbanken erstellen.

Lassen Sie uns eine einfache Datenbankanwendung erstellen, die Informationen aus der Tabelle "Touristen" und einen Eintrag in der Tabelle "Touristeninformationen" aus einer Microsoft Access-Datenbank anzeigt, die dem aktuellen Datensatz in der Tabelle "Touristen" zugeordnet ist.

Erstellen wir dazu eine leere Windows-Anwendung. Umgebungserscheinung

Die Entwicklung ist in Abbildung 39 dargestellt.

Reis. 39. Leere Bewerbung

In Abbildung 39 ist die Komponentengruppe „Daten“ hervorgehoben, die Komponenten für den Zugriff und die Manipulation von Daten enthält.

Die Bindung der Datenbankdaten an das Formular erfolgt durch die Komponente "Binding Source". Übertragen wir es in das Formular. Nach dem Platzieren auf dem Formular nimmt die Entwicklungsumgebung die folgende Form an (Abb. 40).

Reis. 40. Komponentenbindungsquelle auf dem Formular

Die Komponente ist nicht visuell, daher wird sie in einem zusätzlichen Panel angezeigt. Die Haupteigenschaft der Komponente ist die DataSource-Eigenschaft, die auf die Datenquelle zeigt. Standardmäßig ist die Eigenschaft leer, daher müssen Sie ihren Wert bilden. Bei Auswahl dieser Eigenschaft erscheint im Eigenschaftsfenster folgendes Fenster (Abb. 41).

Reis. 41. Liste der Datenquellen

Die Liste ist derzeit leer, daher müssen Sie eine neue Datenquelle erstellen, indem Sie den Befehl Projektdatenquelle hinzufügen auswählen, um eine neue Datenquelle zu erstellen und eine Verbindung zu dieser herzustellen. Das folgende Dialogfeld erscheint (Abb. 42).

Reis. 42. Liste der Datenquellen

Dieser Dialog bietet die folgende Auswahl an Datenquellen:

Datenbank - Datenbank;

Dienst - Ein Dienst ist eine Art Dienst, der Daten bereitstellt. In den meisten Fällen handelt es sich um einen Webdienst;

Objekt – Ein Objekt zum Auswählen eines Objekts, das Daten und Objekte zum Arbeiten generiert.

In unserem Fall müssen Sie den Punkt "Datenbank" auswählen. Es erscheint ein Fenster zur Auswahl einer Datenverbindung (Abb. 43).

Reis. 43. Auswahl einer Datenverbindung

Der Zweck dieses Dialogfelds besteht darin, eine Verbindungszeichenfolge zu erstellen, die die Verbindungsparameter für die ADO-Engine beschreibt, z. B. den Typ der Datenbank, ihren Speicherort, Benutzernamen, Sicherheitsfunktionen usw.

Die Dropdown-Liste des Dialogs enthält alle zuvor erstellten Verbindungen. Sollte die gewünschte Verbindung nicht in der Liste enthalten sein, sollten Sie die Schaltfläche "Neue Verbindung" verwenden. Das Drücken der Schaltfläche führt zum Erscheinen des folgenden Dialogs (Abb. 44).

In diesem Dialog wählen Sie den Typ der Datenquelle (in diesem Fall Microsoft Access), den Namen der Datenbank (in diesem Fall den Namen und Speicherort der Datenbankdatei), den Benutzernamen und das Passwort, die für die Verbindung mit der Datenbank verwendet werden. Über die Schaltfläche "Erweitert" können Sie eine Vielzahl von Parametern in Bezug auf verschiedene Details des ADO-Mechanismus einstellen. Über die Schaltfläche "Verbindung testen" wird sichergestellt, dass die eingegebenen Parameter korrekt sind und die Verbindung funktioniert.

Reis. 44. Erstellen einer neuen Verbindung

Der letzte Schritt des Dialogs besteht darin, diejenigen Tabellen oder andere Datenbankobjekte auszuwählen, die in dieser Datenquelle benötigt werden. Das Auswahlfenster ist in Abbildung 45 dargestellt.

Reis. 45. Auswahl der benötigten Tabellen

In diesem Fenster werden die Tabellen "Touristen" und "Touristen-Informationen" ausgewählt. Da in der Datenbank keine anderen Objekte als Tabellen erstellt wurden, werden in Abbildung 45 nur Tabellen angezeigt. Damit ist die Erstellung der Datenquelle abgeschlossen. Wenn Sie auf Fertig stellen klicken, wird ein DataSet neben der BindingSource im Formular angezeigt.

Nun müssen die oben verknüpften Daten auf dem Formular angezeigt werden. Die einfachste Möglichkeit zum Anzeigen von Daten besteht darin, die DataGridView-Komponente aus der Data-Komponentengruppe zu verwenden. Die Komponente ist visuell und sieht auf dem Formular so aus (Abb. 46).

Reis. 46. ​​​​Komponente DataGridView

Das Fenster mit den Komponenteneinstellungen wird sofort angezeigt, das seine Fähigkeit zum Bearbeiten von Daten bestimmt: "Hinzufügen aktivieren", "Bearbeiten aktivieren", "Löschen aktivieren"; die Möglichkeit, die Reihenfolge der Spalten zu ändern: "Enable Column Reordering"; und auch die Möglichkeit, im übergeordneten Container anzudocken.

Damit die Komponente Daten anzeigt, müssen Sie eine Datenquelle in der Dropdown-Liste auswählen. Die Auswahl der Dropdown-Liste führt zum Erscheinen des folgenden Dialogs (Abb. 47).

Reis. 47. Auswählen einer Datenquelle für DataGridView

In diesem Fall haben wir als Datenquelle die Tabelle „Touristen“ gewählt. Diese Auswahl ändert die Anzeige wie folgt (Abb. 48).

Reis. 48. Komponente DataGridView zeigt die Struktur der Tabelle an

In der Abbildung sehen Sie, dass es eine weitere BindingSource-Komponente und eine TableAdapter-Komponente gibt, die mit der Tourists-Tabelle arbeitet. Bitte beachten Sie, dass zur Entwurfszeit oder während der Entwicklung Daten aus der Tabelle nicht angezeigt werden.

Nun müssen Sie sich die Daten aus der verlinkten Tourist-Informations-Tabelle anzeigen lassen. Platzieren Sie dazu eine weitere DataGridView-Komponente auf dem Formular und wählen Sie als Datenquelle Folgendes aus (Abb. 49).

Reis. 49. Auswahl einer Datenquelle für das zweite DataGridView

Die Datenquelle ist hier nicht die Tabelle "Tourist Information" selbst, sondern die Binding Source zwischen den Tabellen "Tourists" und "Tourist Information". Diese Auswahl stellt sicher, dass nur die Zeilen aus der Touristeninformationstabelle ausgewählt werden, die der aktuellen Zeile in der Touristentabelle zugeordnet sind. Diese Auswahl stellt auch sicher, dass die zugehörigen Daten korrekt aktualisiert und gelöscht werden. Die Funktionsweise der resultierenden Anwendung ist in Abbildung 50 dargestellt.

Reis. 50. Datenbankanwendung bei der Arbeit

Das Navigieren durch die Daten mit den Pfeiltasten ist umständlich. Es gibt eine BindingNavigator-Komponente, um die Navigation durch die Daten zu vereinfachen. Legen Sie es auf das Formular (Abb. 51).

Reis. 51. Die BindingNavigator-Komponente im Formular

Mit dieser Komponente können Sie zwischen Tabellendatensätzen navigieren, Tabellenzeilen hinzufügen und löschen. Die Funktionalität und das Aussehen der Komponente sind anpassbar, da es sich um eine ToolStripContainer-Menüleiste handelt.

Die Eigenschaft, die die zu navigierende Tabelle definiert, ist die BindingSource-Eigenschaft. Legen Sie den Wert dieser Eigenschaft auf TouristBindingSource fest. Im Betrieb sieht das Bauteil so aus (Abb. 52).

Reis. 52. Die BindingNavigator-Komponente bei der Arbeit

Das Bearbeiten von Daten in den Zellen der DataGridView-Komponente mit entsprechenden Einstellungen ist möglich, aber umständlich und nicht rational. Insbesondere ist es schwierig, eingegebene Werte auf Fehler zu überprüfen. Daher werden wir für die Tabelle "Touristen" eine Maske erstellen, die es ermöglicht, Daten in den TextBox-Komponenten anzuzeigen und zu bearbeiten. Platzieren Sie dazu einen Container vom Typ Panel auf dem Formular und darauf drei TextBox-Komponenten wie folgt (Abb. 53).

Reis. 53. Bildschirmbereich zum Bearbeiten von Datensätzen der Tabelle "Touristen"

Nun müssen die TextBox-Komponenten an die entsprechenden Felder der Tabelle "Touristen" gebunden werden. Verwenden Sie dazu die Eigenschaft aus der DataBindings-Gruppe - Erweitert, wie in Abbildung 54 gezeigt.

Reis. 54. Eigenschaft "DataBindings - Erweitert"

Die Auswahl dieser Eigenschaft führt zum Erscheinen des in Abbildung 55 gezeigten Dialogs. In diesem Dialog können Sie nicht nur eine Datenbindung durchführen, sondern auch ein Ereignis festlegen, innerhalb dessen die Daten aktualisiert werden, sowie die Daten bei der Anzeige formatieren .

Wählen Sie für die oberste TextBox-Komponente in der Dropdown-Liste Bindung die Datenquelle "touristsBmdmgSource" und das Quellfeld - "Nachname". Wählen Sie für die mittlere und die untere TextBox-Komponente dieselbe Datenquelle und die Felder "Name" bzw. "Patronymic" aus.

Die entwickelte Anwendung im Betrieb sieht wie folgt aus (Abb. 56).

Reis. 55. Dialogfeld für die Eigenschaft "DataBindings - Erweitert"

Reis. 56. Daten an visuelle Komponenten binden

Bei Änderungen verbleiben jedoch alle neuen Daten nur auf dem Formular. Sie werden nicht in der Datenbank gespeichert und sind beim erneuten Aufruf der Anwendung natürlich nicht vorhanden. Dies liegt daran, dass die Daten in ein DataSet geladen wurden, bei dem es sich um eine speicherinterne Kopie der Tabelle handelt. Alle Aktionen werden mit dieser Kopie ausgeführt. Damit die Änderungen in der Datenbank widergespiegelt werden, müssen Sie die Update-Methode der TableAdapter-Klasse ausführen. Daher ist es in der entwickelten Anwendung erforderlich, die Schaltfläche Update zu platzieren und den folgenden Programmcode in den Click-Ereignishandler zu schreiben:

touristTableAdapteгUpdate (bDTur_firmDataSet); info_about_touristsTableAdapter.Update (bDTur_firmDataSet);

Dieser Code aktualisiert die Informationen in den Tabellen "Touristen" und "Touristeninformationen", die von der Datenquelle bereitgestellt werden. Beachten Sie, dass diese Methode überladen ist und ihre Varianten es Ihnen ermöglichen, sowohl eine einzelne Zeile einer Tabelle als auch eine Gruppe von Zeilen zu aktualisieren.