2012-10-21 20 views
5

Sto imparando l'anomalia di inserimento da here. In seguito i dati vengono scritti in esso,Inserimento anomalia

Inserire Anomalie

Un Inserire Anomaly verifica quando certi attributi non possono essere inseriti nel database senza la presenza di altri attributi. Ad esempio questo è il contrario di delete anomaly: non possiamo aggiungere un nuovo corso a meno che non ci sia almeno uno studente iscritto al corso.

StudentNum CourseNum Student Name Address  Course 
S21   9201  Jones   Edinburgh Accounts 
S21   9267  Jones   Edinburgh Accounts 
S24   9267  Smith   Glasgow  physics 
S30   9201  Richards  Manchester Computing 
S30   9322  Richards  Manchester Maths 

Sono bloccato comprensione del concetto. Perché dovremmo avere uno studente per essere iscritto al corso affinché esista?

Grazie in anticipo

risposta

7

Ciò significa che lo schema non è normalizzato, vale a dire ora avete le informazioni su un corso nella tabella Student.

Quindi, per inserire i dettagli del corso, è necessario fornire anche i dettagli dello studente.

ci sono different forms of normalization è necessario leggere circa, ma in questo esempio la strada giusta per risolvere questa anomalia più probabile sarebbe quella di creare tre tabelle cioè strong entity typesStudent, Course, ed un associative entity type linking tableStudentCourse (possibilmente chiamato Registration o un Grade) che ti consentirà di archiviare i dati di studenti e corsi senza duplicati e anomalie, nonché di assegnare molti corsi a molti studenti.

Si può leggere attraverso esempi di normalizzazione nel seguente link, che vi darà un'idea migliore:

http://www.sqa.org.uk/e-learning/MDBS01CD/page_26.htm#Example

3

L'esempio presuppone che studentnum e coursenum formano una chiave primaria composta attuazione della regola di integrità che un lo studente non può essere iscritto nello stesso corso più di una volta, cioè la combinazione non è giusta. Pertanto, il tentativo di aggiungere un record del corso richiede anche uno studente. Per evitare questa situazione mantenendo la regola di integrità, la chiave composta viene implementata in un'entità associativa e il corso e gli studenti sono in entità separate.