APP2 Flashcards
(20 cards)
Qu’est-ce que la normalisation d’une base de données?
La normalisation est le processus de décomposition de quelques “mauvaise” relations en divisant leurs attributs dans des relations plus petites
Qu’elle est la première force normale (1FN)?
C’est une relation dont tous ses attributs sont atomiques:
- pas d’attributs composée
- pas d’attributs multivaleur
- pas de relation imbriqué
Qu’elle est la deuxième forme normale (2FN)?
Une relation respecte la 2e forme normal si:
- Elle respecte la 1FN
- Tout attribut n’appartenant pas à la clé primaire est en dépendance fonctionnelle totale avec la clé primaire
Qu’elle est la troisième forme normale(3FN)?
Une relation respecte la 3e forme normale si:
- Elle respecte la 2FN
- Elle ne contient pas de dépendance fonctionnelle transitive entre attribut non clé
Qu’est-ce que une entité?
Une entité représente un objet du monde réel.
ex: chaise, personne, classe
Qu’est-ce qu’un attribut?
C’est une charactéristique d’un objet du monde réel
ex: couleur, nb de patte, etc
Qu’est-ce que une relation?
C’est le lien entre des entités
Qu’est ce que la dépendance fonctionelle?
C’est de pouvoir déterminer un attribut à partir d’un autre attribut
Qu’elle est l’utilité de la normalisation?
Le but est d’éviter des anomalies transactionnelles pouvant découler d’une mauvaise modélisation des données et ainsi éviter un certain nombre de problème potentiel tels que les anomlies de lecture, d’écriture et la rededondance de données.
Qu’est-ce que l’algébre linéaire?
Ces un ensemble d’opération formelles sur les relations. Les opérations relationelle permetent de créer de nouvelle relations(tables) à parir d’opération élémentaire sur d’autres tables(Union, Différence, Intersection)
Quelle sont les Opération relationnelle ?
- Union (R U S)
- Intersection( R ∩ S)
- Différence (R - S)
- Produit cartésien (R X S)
- Jointure (R * S)
Qu’est-ce qu’un trigger?
Un trigger (déclancheur) spécifie que la base de données doit exécuter automatiquement une fonction donnée chaque fois qu’un certain type d’opération est exécuté
Sur quel type d’opérations les triggers peuvent s’attacher et à quel moment?
Ils peuvent s’éxécuter avant ou après une commande INSERT, UPDATE, ou DELETE, soit une fois par ligne modifiée, soit une fois par expression SQL
Quelle est l’utilité de NEW?
Type de données RECORD; variable contenant la nouvelle ligne de base de données pour les opérations INSERT/UPDATE dans les triggers de niveau ligne. Cette variable est NULL dans un trigger de niveau instruction.
Quelle est l’utilité de OLD?
Type de données RECORD; variable contenant l’ancienne ligne de base de données pour les opérations UPDATE/DELETE dans les triggers de niveau ligne . Cette variable est NULL dans les triggers de niveau instructions
Est-ce que un entrepot à besoin d’être normalisée?
Non, puisque les données qui proviennent des tables sont déja normalisées
À quoi sert une restriction (σ) dans l’algèbre relationnelle?
Une restriction consiste à réduire le nombre de tuples en fonction d’un critère
Écrire un trigger
CREATE OR REPLACE FUNCTION delete_pavillon_fun() RETURNS trigger AS
$$
BEGIN
DELETE FROM local WHERE pavillon_id = OLD.pavillon_id;
RETURN OLD;
END
$$
LANGUAGE plpgsql;
CREATE TRIGGER delete_pavillon_trig
BEFORE DELETE ON pavillon
FOR EACH ROW EXECUTE PROCEDURE delete_pavillon_fun();
Test :
insert into pavillon values (‘C1’, ‘JAB’);
insert into pavillon values (‘D7’, ‘MV’);
insert into local(local_id, pavillon_id) VALUES (‘C1-3035’, ‘C1’);
insert into local(local_id, pavillon_id) VALUES (‘D7-3036’, ‘D7’);
SELECT * FROM local;
DELETE FROM pavillon WHERE pavillon_id = ‘D7’;
SELECT * FROM local;
Est-il possible d’insérer à partir d’une vue?
oui
De quelle façon est-il possible d’insérer des données à parir d’une vue?
Il est possible à l’aide d’un trigger Instead Of