Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL-Code anhand es ER-Diagramms

Frage Entwicklung Datenbanken

Mitglied: yxcvbnm1234

yxcvbnm1234 (Level 1) - Jetzt verbinden

12.08.2010, aktualisiert 09:52 Uhr, 7515 Aufrufe, 2 Kommentare

Ich brauche dringendst Hilfe...
Ich benutze standard xampp MySQL mit MySQL_Querybrowser.

Sieht ER-Diagramm400d3e99678a543c6dbc6b4b3500782d - Klicke auf das Bild, um es zu vergrößern

Anhand des ER-Diagramms möchte ich SQL-Code erzeugen.
Besonderheiten:
n to 1 - Beziehung + Attribut dazwischen
1 zu 1- Beziehung

Ich habe Workbench benutzt, aber es macht mir genau das nicht , was ich auch nicht kann. Kann mir dabei jemand helfen?

Lösungsvorschlag:

CREATE database IF NOT EXISTS `dbtest` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `dbtest`;

CREATE TABLE IF NOT EXISTS `dbtest`.`Metadaten` (
`MetaID` INT NOT NULL AUTO_INCREMENT ,
`Dateiname` VARCHAR(200) NOT NULL ,
`Copyright` VARCHAR(200),
`NutzBeschr` VARCHAR(200,
`Abstrakt` VARCHAR(100),
PRIMARY KEY (`MetaID`) )
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `dbtest`.`Auftrag` (
`ArchivID` INT NOT NULL AUTO_INCREMENT ,
`Titel` VARCHAR(200) NOT NULL ,
`Schlüsselwörter` VARCHAR(250),
`BegDatum` DATE NULL ,
`EndDatum` DATE,
`Metadaten_MetaID` INT NOT NULL ,
PRIMARY KEY (`ArchivID`, `Metadaten_MetaID`) ,
INDEX `fk_Auftrag_Metadaten1` (`Metadaten_MetaID` ASC) ,
CONSTRAINT `fk_Auftrag_Metadaten1`
FOREIGN KEY (`Metadaten_MetaID` )
REFERENCES `dbtest`.`Metadaten` (`MetaID` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;


CREATE TABLE IF NOT EXISTS `dbtest`.`Mitarbeiter` (
`MNr` INT NOT NULL AUTO_INCREMENT ,
`Name` VARCHAR(60) NOT NULL ,
`Mitbeteiligt` VARCHAR(200),
`Auftrag_ArchivID` INT NOT NULL ,
PRIMARY KEY (`MNr`) ,
INDEX `fk_Mitarbeiter_Auftrag1` (`Auftrag_ArchivID` ASC) ,
CONSTRAINT `fk_Mitarbeiter_Auftrag1`
FOREIGN KEY (`Auftrag_ArchivID` )
REFERENCES `dbtest`.`Auftrag` (`ArchivID` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;


CREATE TABLE IF NOT EXISTS `dbtest`.`Kunden` (
`KundeID` INT NOT NULL ,
`Name` VARCHAR(100) NOT NULL ,
`Vorname` VARCHAR(45),
PRIMARY KEY (`KundeID`) )
ENGINE = InnoDB;


CREATE TABLE IF NOT EXISTS `dbtest`.`Kunden_has_Mitarbeiter` (
`Kunden_KundeID` INT NOT NULL ,
`Mitarbeiter_MNr` INT NOT NULL ,
PRIMARY KEY (`Kunden_KundeID`, `Mitarbeiter_MNr`) ,
INDEX `fk_Kunden_has_Mitarbeiter_Kunden` (`Kunden_KundeID` ASC) ,
INDEX `fk_Kunden_has_Mitarbeiter_Mitarbeiter1` (`Mitarbeiter_MNr` ASC) ,
CONSTRAINT `fk_Kunden_has_Mitarbeiter_Kunden`
FOREIGN KEY (`Kunden_KundeID` )
REFERENCES `dbtest`.`Kunden` (`KundeID` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Kunden_has_Mitarbeiter_Mitarbeiter1`
FOREIGN KEY (`Mitarbeiter_MNr` )
REFERENCES `dbtest`.`Mitarbeiter` (`MNr` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
400d3e99678a543c6dbc6b4b3500782d - Klicke auf das Bild, um es zu vergrößern
Mitglied: Logan000
12.08.2010 um 13:22 Uhr
Moin Moin

Ich würde sagen das Problem liegt genau hier:
... aber es macht mir genau das nicht , was ich auch nicht kann.

Für die n:m bzw n:1 Beziehungen benötigst du eigene Tabellen oder wor woltest du die jeweiligen Beziehungen sonst speichern
z.B. für die Beziehung Kunden-Mitarbeiter eine Tabelle die die Felder KundeID und MNr enthält.
Für die Mitarbeiter-Auftrag Beziehung (enthält natürlich MNr und AchivID) kannst Du in einen weiteren Feld (z.B Tätigkeit) die Beziehung auch noch "bewerten".

Ich hoffe das hilft Dir weiter.

Gruß L.
Bitte warten ..
Mitglied: yxcvbnm1234
14.08.2010 um 00:18 Uhr
Vielen Dank!!!
Ich versuche es mal..
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel Diagramm - Datum wird nicht aktualisiert (10)

Frage von KMP1988 zum Thema Microsoft Office ...

Entwicklung
gelöst Powershell code implementieren (3)

Frage von Mr.KitKat zum Thema Entwicklung ...

VB for Applications
gelöst Excel VBA Code (2)

Frage von specialuser zum Thema VB for Applications ...

Batch & Shell
gelöst Powershell - Ausgabe des Codes als Text (9)

Frage von internet2107 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

Frage von udobec zum Thema LAN, WAN, Wireless ...

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (9)

Frage von jensgebken zum Thema Windows Server ...