Héritage Flashcards

1
Q

Quel est l’objectif principal du projet ‘Dressing’ présenté dans le cours ?

A

Concevoir et implanter une base de données et une application pour gérer un dressing et faire de l’aide à la décision pour le choix des tenues

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quels sont les principaux outils utilisés dans le projet ‘Dressing’ ?

A

PostgreSQL, Data Mapper/OrmLite, Java, JDBC

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qu’est-ce que JDBC ?

A

Java DataBase Connectivity, une bibliothèque d’interfaces et de classes pour communiquer avec un SGBDR et manipuler des requêtes SQL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quel est l’objectif d’un ORM (Object Relational Mapping) ?

A

Cacher la façon dont sont stockées les données à la couche métier

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quelles sont les deux principales formes de mise en œuvre d’un ORM ?

A

Via un logiciel ORM ou “à la main”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quelle est la principale différence entre la modélisation de l’héritage via les tables filles et via INHERITS en PostgreSQL ?

A

Avec INHERITS, on garde le concept général plus proche de la modélisation logique, alors qu’avec les tables filles, on perd certains concepts logiques

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quel est un avantage majeur de l’utilisation d’INHERITS en PostgreSQL pour l’héritage ?

A

La possibilité de récupérer l’ensemble de l’information des tables filles en une seule requête

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Citez un inconvénient majeur de l’utilisation d’INHERITS en PostgreSQL pour l’héritage

A

Les contraintes d’intégrité (comme les clés primaires et étrangères) ne sont pas héritées automatiquement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quelle commande SQL permet de créer une table héritant d’une autre table en PostgreSQL ?

A

CREATE TABLE NomTable (…) INHERITS(TableParente);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Comment peut-on accéder uniquement aux données de la table mère lors de l’utilisation d’INHERITS en PostgreSQL ?

A

En utilisant le mot-clé ONLY dans la requête SELECT, par exemple : SELECT * FROM ONLY TableMere;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quel est le principal problème lié aux contraintes d’intégrité lors de l’utilisation d’INHERITS en PostgreSQL ?

A

Les contraintes de clé primaire et de clé étrangère ne sont pas héritées par les tables filles

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quelle est la première étape recommandée avant de se lancer dans l’implémentation d’un projet de base de données ?

A

Réaliser la logique métier de l’application, par exemple en créant un diagramme de classe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quelle est l’importance de penser la logique métier indépendamment de la persistance des données ?

A

Cela permet une meilleure conception et une plus grande flexibilité dans l’implémentation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quel est l’avantage d’implanter progressivement un projet de base de données ?

A

Cela permet de mieux gérer la complexité et de tester chaque partie au fur et à mesure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Quelle est la première étape du processus théorique pour réaliser une base de données ?

A

La récolte des informations réelles permettant de concevoir le schéma de très haut niveau

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qu’est-ce que la normalisation dans le contexte des bases de données ?

A

C’est le processus de décomposition des relations pour éliminer les redondances et les dépendances anormales

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Pourquoi est-il important de considérer le volume de données à traiter lors de la conception d’une base de données ?

A

Pour déterminer s’il faut définir des index et optimiser les performances

18
Q

Quel est le rôle des index dans une base de données ?

A

Ils permettent d’accélérer les requêtes fréquentes sur certains attributs

19
Q

Pourquoi est-il important d’analyser les types de requêtes qui seront mises en œuvre sur la base ?

A

Pour optimiser la structure de la base et les index en fonction des accès les plus fréquents

20
Q

Quelle est l’importance de considérer l’utilisation prévue de la base (consultation vs modification) lors de sa conception ?

A

Cela influence la gestion de la concurrence et les performances globales du système

21
Q

Quelles sont les trois principales étapes du projet ‘Dressing’ mentionnées dans le cours ?

A
  1. Réalisation du modèle E-A, 2. Passage au modèle relationnel, 3. Discussion sur les contraintes d’intégrité
22
Q

Qu’est-ce qu’un modèle E-A ?

A

Un modèle Entité-Association, utilisé pour représenter conceptuellement les données et leurs relations

23
Q

Que signifie CIs dans le contexte du cours ?

A

Contraintes d’Intégrité

24
Q

Quelle est la différence entre un modèle conceptuel et un modèle relationnel ?

A

Le modèle conceptuel (comme E-A) représente les concepts et leurs relations, tandis que le modèle relationnel traduit ces concepts en tables et relations pour une base de données

25
Q

Qu’est-ce qu’un trigger dans une base de données ?

A

Un trigger est un mécanisme qui déclenche automatiquement une action en réponse à certains événements dans la base de données

26
Q

Que signifie CRUD dans le contexte des bases de données ?

A

Create, Read, Update, Delete - les quatre opérations fondamentales sur les données

27
Q

Quel est le rôle d’un Data Mapper dans l’architecture d’une application ?

A

Un Data Mapper fait le lien entre les objets de l’application et les tables de la base de données, facilitant la persistance des données

28
Q

Quelle est la principale différence entre un ORM et un Data Mapper ?

A

Un ORM est généralement plus complet et automatisé, tandis qu’un Data Mapper offre plus de contrôle manuel sur le mapping entre objets et données

29
Q

Pourquoi utiliser INHERITS en PostgreSQL peut poser des problèmes de contraintes d’intégrité ?

A

Les contraintes de clé primaire et de clé étrangère ne sont pas automatiquement héritées par les tables filles

30
Q

Comment peut-on compenser les limitations de INHERITS en PostgreSQL ?

A

En utilisant des triggers pour vérifier manuellement les contraintes d’intégrité qui ne sont pas héritées

31
Q

Qu’est-ce que le partitionnement dans le contexte des bases de données ?

A

C’est une technique qui divise une grande table en plusieurs parties plus petites pour améliorer les performances et faciliter la gestion

32
Q

Pourquoi est-il important de réaliser un diagramme de classe avant d’implémenter une base de données ?

A

Pour avoir une vue d’ensemble claire de la logique métier et des relations entre les entités avant de les traduire en tables

33
Q

Qu’est-ce qu’une vue dans une base de données ?

A

Une vue est une table virtuelle basée sur le résultat d’une requête SQL, utilisée pour simplifier les requêtes complexes ou limiter l’accès aux données

34
Q

Que signifie la “dénormalisation” dans le contexte des bases de données ?

A

C’est le processus d’ajout de redondances contrôlées dans une base de données normalisée pour améliorer les performances de lecture

35
Q

Pourquoi analyser le volume de données est-il important lors de la conception d’une base de données ?

A

Pour déterminer la nécessité d’index, optimiser les requêtes et choisir les bonnes stratégies de stockage et de partitionnement

36
Q

Qu’est-ce qu’un index primaire dans une base de données ?

A

Un index créé sur la clé primaire d’une table pour accélérer les recherches basées sur cette clé

37
Q

Qu’est-ce qu’un index secondaire dans une base de données ?

A

Un index créé sur des colonnes autres que la clé primaire pour accélérer certaines requêtes spécifiques

38
Q

Pourquoi la gestion de la concurrence est-elle importante dans une base de données ?

A

Pour assurer l’intégrité des données lorsque plusieurs utilisateurs modifient simultanément la base de données

39
Q

Que signifie “mapping” dans le contexte des bases de données et des applications ?

A

C’est le processus de liaison entre les structures de données de l’application (objets) et les structures de la base de données (tables)

40
Q

Pourquoi est-il recommandé d’implanter progressivement un projet de base de données ?

A

Pour gérer la complexité, tester chaque partie au fur et à mesure, et faciliter la détection et la correction des erreurs