Archiv verlassen und diese Seite im Standarddesign anzeigen : Microsoft Access - Beziehungen löschen
stefagner
2005-05-04, 20:49:44
Hey, ich hab mal ne schwierige Frage:
Wie kann man bei Microsoft Access Beziehungen löschen?
Jetzt denkt ihr. Klar, jetzt kommt der größte Office noob und stellt
so ne dumme Frage ;D Schön wäre es, aber das wäre ja zu einfach :wink:
Also, irgendwie merkt der sich die Beziehungen immer noch auch wenn ich sie
bereits (unter: Extras - Beziehungen) gelöscht habe :(
Hat jemand ne idee wie man den Sicherheits Mechanismus von Office überwinden kann und wie Beziehungen entgültig löschen kann ohne
das sie bei den Abfragen wie angewendet werden :confused: :confused: :confused:
access funktioniert in dem bezug einwandfrei...
wenn auf das symbol beziehung drückst...siehst da ne verbindung?
btw evtl is au deine abfrage so geschrieben dass sie eben so reagiert aber nicht so wie du willst ;)
lol, des Problem hab ich wenn ich eine neue Abfrage erstelle.
Die Beziehungen lassen löschen (also sind nicht mehr da),
aber wenn ich eine neue Abfrage erstelle und die Tabellen hinzufüge
sind die Beziehungen auch dabei, obwohl auch nach der erstellung der
Abfrage unter extras - Beziehungen keine Vorhanden sind
stefagner
2005-05-06, 17:54:31
keiner ne Idee? :eek:
kazwei
2005-05-06, 17:55:27
also bei mir werden die beziehungen anstandslos gelöscht. notfalls exportiere die daten und mach ne neue datenbank
stefagner
2005-05-06, 20:17:18
gelöscht schon, aber öffne dann mal ne neue Abfrage und Füge alle Tabellen ein. :biggrin: Dann wirst du sehen das die Beziehungsstriche wieder da sind.
Unter Extras Beziehungen sind sie immer noch gelöscht, aber in den Abfragen sind sie immer noch vorhanden ;(
kazwei
2005-05-06, 20:18:29
achso meinst du das. natürlich sind sie in den erstellten abfragen schon vorhanden, wenn du eine neue erstellst dürfte das aber nicht mehr der fall sein, allerdings wird die abfrage so bestimmt nicht richtig funktionieren.
benötigen deine abfragen ein fremdschlüssel o.ä. kann ja sein dass die verbindung zwingend drin bleiben muss bzw. erst gelöscht werden kann wenn du bestimmte felder raus hast (jenachdem ob du QBE oder SQL Abfragen hast)
stefagner
2005-05-06, 20:23:03
ne, auch wenn ich eine neue Abfrage erstelle bleiben die Beziehungen :confused:
kazwei
2005-05-06, 20:27:57
welche access version?
also ich habe es bei mir nochmal versucht , die beziehungen bleiben definitiv nicht o_o
http://img198.echo.cx/my.php?image=asdf5tz.jpg
ist eine kleine "übungs-db" von der schule :)
oder hast es anders gemacht?
stefagner
2005-05-14, 13:42:08
klo? :confused:
Cleaner
2005-05-14, 14:00:03
Versuche doch mal die PK's und FK's über ein SQL-Statment zu löschen.
MfG
Cleaner
stefagner
2005-05-15, 17:16:27
mach ich sofort, wenn du mir verräts wie :frown:
stefagner
2005-05-16, 16:56:59
Versuche doch mal die PK's und FK's über ein SQL-Statment zu löschen.
MfG
Cleaner
und wie gehts des? :confused:
Cleaner
2005-05-16, 17:17:59
Eine Tabelle kann man mit alter table ändern. Mit drop constraint name kann man den Schlüssel löschen.
z.B. alter table bla drop contraint meinschlüssel; <- löschen
alter table bla add constraint ps primary key(spaltenname); <-Anlegen eines Primärschlüssel mit "Namen" ps.
alter table bla add constraint fs foreign key(spaltenname) references bla2 (spaltenname); <-Anlegen eines Fremdschlüssels mit "Namen" fs.
Ohne Constraint würdest Du den Schlüssel nicht so schnell wiederfinden, da zur Identifizierung des Schlüssels ein "Name" generiert wird aus Zahlen und Buchstaben.
MfG
Cleaner
stefagner
2005-05-16, 17:50:03
Eine Tabelle kann man mit alter table ändern. Mit drop constraint name kann man den Schlüssel löschen.
z.B. alter table bla drop contraint meinschlüssel; <- löschen
alter table bla add constraint ps primary key(spaltenname); <-Anlegen eines Primärschlüssel mit "Namen" ps.
alter table bla add constraint fs foreign key(spaltenname) references bla2 (spaltenname); <-Anlegen eines Fremdschlüssels mit "Namen" fs.
Ohne Constraint würdest Du den Schlüssel nicht so schnell wiederfinden, da zur Identifizierung des Schlüssels ein "Name" generiert wird aus Zahlen und Buchstaben.
MfG
Cleaner
aaahhhhhhhhh, wenn das so geht ;D ;D ;D
Du meist sicher:
Normalerweise werden Datensätze mit Hilfe eines benutzerfreundlichen Front-End-Programms in die Tabellen eingetragen. Intern geschieht aber nichts weiter wie ein Aufruf der INSERT-Anweisung. Für das Erzeugen von Testdaten ist es ebenfalls recht hilfreich, die INSERT-Anweisung zu beherrschen. Eine INSERT-Anweisung wird erst durch ein COMMIT festgeschrieben. Alle Spalten, die auf NOT NULL definiert wurden, müssen selbstverständlich angegeben werden. Der allgemeine Syntax einer INSERT-Anweisung sieht folgendermaßen aus:
insert into tablename
(spalte1,spalte2 ... spalte n)
values (value1, value2 ... value n)
;
insert into emp
(empno,ename,deptno,job)
values (11,'Hager', 20,'SALESMAN')
;
Es wird in die Tabelle Mitarbeiter (emp) ein neuer Datensatz hinzugefügt. Es handelt sich um den neuen Mitarbeiter Herrn Hager mit der Mitarbeiternummer 11, der Abteilungsnummer 20 und dem Job SALESMAN.
insert into emp
values (10,'Huber','SALESMAN',7902,'1.1.1990',2000,NULL,10)
;
Da hier hinter emp keine Spalten angegeben wurden, müssen alle Spalten in der entsprechenden Reihenfolge im Teil VALUES angegeben werden. Erzeugt wird durch die Anweisung ein neuer Mitarbeiter mit der Mitarbeiternummer 10, dem Namen Huber, dem Job SALESMAN, dem Vorgesetzten mit der Nummer 7902 (Herr Ford), dem Einstellungsdatum 1.1.1990, dem Gehalt 2000, ohne Kommission und der Abteilung Nummer 10.
Datensätze können auch auf Basis einer Abfrage hinzugefügt werden. Mit dieser Methode ist es zum Beispiel möglich, sehr schnell sehr große Datenmengen zu Testzwecken zu erzeugen. Denn was nutzt Ihnen eine Testdatenbank, die nur ein paar Tausend Datensätze besitzt. Als erstes erzeugen wir eine Tabelle namens SALESMAN mit zwei Spalten namens empno und ename.
create table salesman(empno int, ename char(20));
Anschließend wird diese Tabelle mit einer INSERT- Anweisung und einer Unterabfrage mit Daten gefüllt.
insert into salesman
select empno,ename from emp where job = ,'SALESMAN'
;
select * from salesman;
EMPNO ENAME
---------------
7499 ALLEN
7521 WARD
7654 MARTIN
7844 TURNER
10 Huber
11 Hager
Mit Hilfe von Skripten können Sie ebenfalls Daten in eine Tabelle einfügen. Schauen wir uns folgendes kleine Skript etwas genauer an (eine detaillierte Einführung in Skripte würde den Rahmen dieser Unterlage sprengen).
ACCEPT Mitarbeiternummer PROMPT 'Geben Sie die Mitarbeiternummer an'
ACCEPT Mitarbeitername PROMPT 'Geben Sie den Mitarbeiternamen an'
ACCEPT Job PROMPT 'Geben Sie den Job des Mitarbeiters an'
INSERT INTO emp(empno,ename,job)
VALUES(&mitarbeiternummer,'&mitarbeitername','&job')
;
Speichern Sie dieses Skript ab (z.B. als ~/test/skript1.sql) und führen Sie es innerhalb von SQL PLUS aus (start ~/test/skript1.sql). Sie werden nacheinander zur Eingabe der entsprechenden Werte aufgefordert und am Ende wird der Datensatz eingefügt.
stefagner
2005-05-16, 17:50:56
wo was eingeben, hallo ich kann kein sql :eek: :confused: :confused: :confused:
Cleaner
2005-05-16, 18:03:48
Was Du da beschreibst ist unter anderem das Tabellenfüllen mit Werten. Aber es zeigt Dir wie es funktioniert. Access setzt ja auf ein abgespeckten SQL-Server auf, diese abespeckte Version kannst Du auch ohne das bunte Frontend Acces bei Microsoft runterladen.
Mit solchen Prozeduren ist das arbeiten mit Datenbanken wesentlich einfacher, gerade wenn Du eine neue DB erstellst. Wenn Du ein Fehler gemacht hast, brauchst Du nur den Fehler im Script ändern und kannst es nochmal laufen lassen ohne alles von Hand neu zu erstellen. In Verbindung mit sogenannten Trigger'n bekommt die ganze Sache noch ein tieferen Sinn.
Viel Spass noch mit Deiner DB.
MfG
Cleaner
stefagner
2005-05-16, 18:09:18
In Verbindung mit sogenannten Trigger'n bekommt die ganze Sache noch ein tieferen Sinn.
Viel Spass noch mit Deiner DB.
MfG
Cleaner
Hey, wenn du hier nur den :cool: darstellst und mit fachbegriffen umdich wirfst wird des hier langsam lächerlich. Mit Trigger'n (deutsch:Auslösern) bekommt die ganze Sache noch einen treiferen Sinn ;D lol lol lol
Schreib net so nen unsinn :P :P :P
Cleaner
2005-05-16, 18:11:41
Um bei Access in die SQL-Ansicht zu kommen musst Du eine Abfrage in der Entwurfansicht öffnen. Dann kannst Du unter Ansicht die SQL-Ansicht auswählen.
stefagner
2005-05-16, 18:16:20
Um bei Access in die SQL-Ansicht zu kommen musst Du eine Abfrage in der Entwurfansicht öffnen. Dann kannst Du unter Ansicht die SQL-Ansicht auswählen.
schön und gut, aber was will ich in einer Abfrage in der SQL ansicht. :confused:
Ich will die Beziehungen der Datenbank vollständig löschen und nicht nur bei einer Abfrage :eek:
Cleaner
2005-05-16, 18:19:32
Wie jetzt? Bin nur auf Dein Post "aaahhhhhhhhh, wenn das so geht " eingegangen und mir kam das so vor, als wenn Du Dich noch nicht weiter damit beschäftigt hast. Wollte nur sagen, dass solche Scripte noch tieferen Sinn mit bestimmten "Auslösern" machen und das das was Du gepostet hast noch nicht das Ende der Möglichkeiten ist. Wie z.B. ein Datensatz kann nur geändert werden, wenn eine bestimmte Vorraussetzung erfüllt ist.
Wozu hast Du sonnst die Scripte gepostet, naja egal Du machst das schon.
MfG
Cleaner
stefagner
2005-05-16, 18:23:52
Wie jetzt? Bin nur auf Dein Post "aaahhhhhhhhh, wenn das so geht " eingegangen und mir kam das so vor, als wenn Du Dich noch nicht weiter damit beschäftigt hast. Wollte nur sagen, dass solche Scripte noch tieferen Sinn mit bestimmten "Auslösern" machen und das das was Du gepostet hast noch nicht das Ende der Möglichkeiten ist. Wie z.B. ein Datensatz kann nur geändert werden, wenn eine bestimmte Vorraussetzung erfüllt ist.
Wozu hast Du sonnst die Scripte gepostet, naja egal Du machst das schon.
MfG
Cleaner
ne, mach ich net, weil ich einfach nur die Beziehungen in einer DB löschen will und des einfach net wirklich funzt :frown: :frown: :frown:
Cleaner
2005-05-16, 18:27:52
Du hast von da nicht nur Zugriff auf eine Abfrage, kannst ja mal eine Tabelle jetzt Anlegen mit create table bla, um zusehen was passiert. Wenn Du dann unter den Tabellen die Tabelle bla siehst, löschst Du sie mit drop table bla. Und schaus nach ob sie dann weg ist. Nach dem das alles fiunktioniert hat müsste Dir ein Licht aufgehen ;).
MfG
Cleaner
stefagner
2005-05-16, 18:33:35
Eine Tabelle kann man mit alter table ändern. Mit drop constraint name kann man den Schlüssel löschen.
z.B. alter table bla drop contraint meinschlüssel; <- löschen
alter table bla add constraint ps primary key(spaltenname); <-Anlegen eines Primärschlüssel mit "Namen" ps.
alter table bla add constraint fs foreign key(spaltenname) references bla2 (spaltenname); <-Anlegen eines Fremdschlüssels mit "Namen" fs.
Ohne Constraint würdest Du den Schlüssel nicht so schnell wiederfinden, da zur Identifizierung des Schlüssels ein "Name" generiert wird aus Zahlen und Buchstaben.
MfG
Cleaner
Halbwegs kapiert hab ich das, aber was hat der Primärschlüssel bzw. der Fremdschlüssel mit meinen Beziehungen zu tun :confused:
Cleaner
2005-05-16, 18:54:45
Weil Beziehungen über diese eindeutigen Schlüssel dargestellt werden.
Google doch mal nach ER-Modell, Primary Key und Foreign Key.
MfG
Cleaner
stefagner
2005-05-16, 19:36:39
Weil Beziehungen über diese eindeutigen Schlüssel dargestellt werden.
Google doch mal nach ER-Modell, Primary Key und Foreign Key.
MfG
Cleaner
Das Entity-Relationship-Modell, kurz ER-Modell oder ERM, dient dazu, im Rahmen der Datenmodellierung die reale Welt semantisch präzise zu beschreiben. Das ER-Modell besteht aus einer Graphik und einer Beschreibung der darin verwendeten einzelnen Elemente (siehe nachfolgend unter Darstellungsformen).Es dient zum einen in der konzeptionellen Phase der Anwendungsentwicklung der Verständigung zwischen Anwendern und Entwicklern, wobei ausschließlich das Was, also die Sachlogik, und nicht das Wie,
The columns in a table that uniquely identify the rows in the table.
An attribute that appears as a nonprimary key attribute in one relation and as a primary key attribute (or part of a primary key) in another relation.
Und jetzt :confused:
Cleaner
2005-05-16, 20:05:20
Tjo soweit so gut. Ich erweitere das mal mit einem Zitat.
Alle Beziehungen (Rellationen) in einem Datenmodell werden als ER-Modell dargestellt. ER-Modelle werden zur besseren Lesbarkeit häufig grafisch dargestellt. Um ER-Modelle erstellen zu können, müssen die Entitäten (Tabellen) über eindeutige Werte, als Schlüssel bezeichnet, verfügen, damit eine Beziehungen unzweifelhaft dargestellt werden kann. Ein Schlüssel kann aus einem oder mehreren Attributen (Spalten - Zusammengesetzter Schlüssel) bestehen.
Dieser Schlüssel ist meist der Primary Key, der die Datensätze eindeutig identifiziert. Fremdschlüssel dienen zur Beschreibung der Beziehung zwischen verschiedenen Relationen. Ein Fremdschlüssel ist ein Attribut, das sich auf ein Wert des Primärschlüssel einer Relation bezieht.
Von dem ausgehend, wenn die Schlüssel gelöscht werden, dürften damit auch die Beziehungen gelöscht sein.
MfG
Cleaner
stefagner
2005-05-17, 18:12:49
:confused: toll und was bringt mir des jetzt :eek:
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.