Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 7388 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
Visual Studio
C-Sharp Code in native Code kompilieren? (3)

Frage von clragon zum Thema Visual Studio ...

Datenbanken
SQL Server 2008 R2 iso (3)

Frage von Doktore77 zum Thema Datenbanken ...

Netzwerkmanagement
Docusnap-SQL: Anfängerfrage (1)

Frage von PharIT zum Thema Netzwerkmanagement ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(1)

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

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

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

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...