|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : février 2009 Messages : 59 ![]() |
Bonjour mes amis,
J'ai des questions différentes sur les BD que je voudrais que vous me clarifiiez. Choisir le(s) bonne(s) réponse(s) 1)Une requête à une BD sert à: *supprimer des informations dans cette base *faire un trigger 2)Lorsqu'on manipule une BD,on manipule: *des tables *des requêtes 3)Un clé primaire sert à: *enregistrer une BD *identifier les informations pour pouvoir les retrouver 4)Une BD est: *ensemble organisé et structuré d'info portant sur le même thème *un plan de classement de l'information 5)Un enregistrement correspond à: *un programme nécessaire pour utiliser une BD *l'ensemble des caractéristique d'un élément du tableau 6)Une BDR est une BD structuré : *sous forme de tableau *sous forme de ligne et de colonnes suivant les principes de l'algèbre relationnelle *en tenant compte des relations entre les tables 7)les tables d'une BDR possèdent un certain nombre de colonnes permettant de décrire des éléments appelés : *n-uplets *lignes *tuples *enregistrement (QUEL est la différence entre n-uplets et tuple????) 8)La non duplication(absence de redondance ) des éléments dans une table d'un BDR est assurée par le SGBDR à l'aide du contrainte de type: *clé primaire *clé étrangère *clé subrogée *marqueur NOT NULL 9)Dans un contexte d'une BDR,une jointure naturelle(ou équijointure peut se faire entre 2 tables dont la qualification est une égalité entre les valeurs de 2 colonnes(une de chaque table)de: *même type *même type et même nom *même type et des noms différents *même nom indépendamment du type 10)Un clé primaire sert à: *définir d'une manière unique une ligne *pour identifier un enregistrement *éviter d'avoir 2 lignes semblables dans une table 11)Dans une requête SQL,La clause distinct sert: *enlever les répétitions *ne pas répéter la même ligne *sélectionner les sorties colonne par colonne Merci de m'aider J'attends vos propositions |
|
|
00
|
|
|
#2 |
![]() ![]() |
Ça ressemble à un exercice scolaire ton questionnaire !
Dans tous les cas, as-tu cherché avant de poser ces questions ? Certaines sont vraiment simples. Un petit tour chez SQLPro pour t'aider à répondre.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
oui, ca sent l'exo a plein nez, et ca sent aussi le prof de [Math|Chimie|Physique|ouQueSaisJeEncore] qui a été déclaré "Prof de SQL"...
Rien que la première question laisse perplexe, peso, je dirai : "Les deux mon capitaine" sous réserve bien sur que l'exercice ait été recopié mot pour mot... en tout cas quand tu auras la correction, ca serait sympa de la poster avec les commentaires du prof... car si a la question 7/ le prof attend "tuple" comme réponse, la question 10/ est pour le moins formulée de facon etrange |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : février 2009 Messages : 59 ![]() |
Bonjour Modérateur,
Oui je sais qu'ils sont simples mais ce qui me met en doute c'est l'approche dans le sens entre les propositions. J'ai bien cherché et les réponses sont très vagues. Merci de descendre à mon niveau et répondre à mes questions,sincèrement ils vont m'aider à entamer la partie programmation des BDR |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 637 ![]() |
C'est en étudiant et en cherchant que l'on augmente de niveau, pas en se faisant servir sur un plateau des réponses que l'on ne comprend pas.
|
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : février 2009 Messages : 59 ![]() |
Bonjour Modérateur,
Désolé si j'ai apparu un peu paresseux car je suis trés débutant en Informatique. En fait je suis un étudiant en mathématique Avant que je propose mes suggestions, j'ai bien googling mais ce qui me met en doute est l'approche dans les sens des propositions. Merci d'être encourageant pour entamer une autre science très importante 1)je propose la première car je pense que les triggers ne sont pas des requêtes mais des fonctions à part entière utilisé en PL/SQL 2)A moi,je tiens la 1er proposition car les requêtes sont des manipulations sur les tables et les BDR sont basés sur la notion des tables 3)je tiens la deuxième car la sauvegarde d'une BD se fait un autre moyen(que je ne sais pas 4)Je tiens la première mais je doute dans la deuxième car lorsqu'on regroupe les Info c'est entre autres dessiner un plan de classement de l'info selon le principe de BD 5)Je tiens la deuxième 6)Je tiens la première "sous forme de table" mais les autres sont aussi possibles mais comme j'ai lu, une BDR est structurée sous forme de tables 7)Je tiens la dernière "enregistrement" Je veux savoir la différence entre ces 3 termes: enregistrement,n-uplet et tuple ? J'ai trouvé que une ligne d'une table de BDR=n-uplet=tuple et enregistrement??? 8)Je tiens "clé primaire et clé subrogée" mais je ne sais pas la différence entre clé subrogée et clé primaire 9)A mon avis,une équijointure(==jointure interne???) qui repose sur la jointure entre les éléments communs SEULEMENT entre les tables donc je suppose que "même type et même nom" 10)je suppose que les 3 sont justes car une clé primaire sert à identifier d'une manière unique un enregistrement dans une table 11)les 2 premières sont les + proches Merci pour votre compréhension |
|
|
00
|
|
|
#7 | |||||||||||||||
![]() ![]() |
OK alors allons-y...
Citation:
Une requête est une instruction plus ou moins complexe envoyée à un SGBD pour exécuter quelque chose. - CRUD : création (CREATE), modification (ALTER), mise à jour (INSERT, UPDATE), suppression (DELETE) de table, de procédure, de fonction, de trigger, de vue ; - Interrogation de la bdd (SELECT). Citation:
Citation:
Code :
Citation:
Citation:
Enregistrement est un mauvais terme souvent employé à tort à la place de "ligne". Une table (et pas un tableau !) est composé de colonnes (et pas de champs !) et de lignes (et pas d'enregistrements !) Citation:
Le terme de "relation" de l'algèbre relationnelle est alors à rapprocher à celui de "table" d'une base de données. Ce terme est, malheureusement encore, souvent employé à la place de celui "d'association" entre les tables, lequel terme vient de la méthode Merise et de son célèbre Modèle Conceptuel de Données (MCD). Voici un morceau de MCD : Salarié -0,n----Affecter----1,n- Service Salarié et Service sont deux entités qui vont devenir des tables dans la BDD et seraient dans l'algèbre relationnelle des relations, que le grand spécialiste de la question fsmrel préfère appeler des variables relationnelles, abrégées en relvar. Affecter est une association entre les deux entités et se transformera, du fait de ces cardinalités maximales toutes deux à n, elle aussi en table associative dans la BDD. Citation:
n-uplets et tuples sont deux termes équivalents qui dérivent du terme "couple" pour exprimer des "couples" à plus de deux éléments. tuple et n-uplet sont plutôt des termes à employer en dehors du contexte des tables. Le tuple (en l'occurrence un couple) {'Brad Pitt', 'Angelina Jolie'} peut exister en tant que résultat d'une requête mais n'existera pas sous cette forme dans la base de données. Citation:
Citation:
Citation:
Je n'utilise jamais le NATURAL JOIN parce que c'est justement moins précis et peut porter à confusion lorsque la requête comporte plusieurs jointures. Citation:
Citation:
La première est proche mais là encore ambigüe : répétition de quoi ? Une colonne, X colonnes ? Toute la ligne de résultat ? La troisième est fausse. Je ne sais même pas ce qu'elle veut dire ! ![]() Encore d'accord avec aieeeuuuuu : Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||||||||||||||
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : février 2009 Messages : 59 ![]() |
Bonsoir Modérateur
![]() Merci bcpppppp pour votre aide.jai pu conclure de votre réponse que: *Un trigger est un type de requête sur une BD. *Pour la 3),j'ai trouvé dans le http://sqlpro.developpez.com/cours/clefs/,qu'un clé doit vérifier l'unicité"car la clef doit permettre de retrouver l’ensemble des informations afférent à un élément individuel et non à un groupe ou un ensemble" ce qui donne que la deuxième est juste .*Pour la 4) pourquoi dans votre exemple,la BDD gestion est un seul thème en dépit qu'il s'agit d'une gestion de client ,d'achat... c'est un seul théme global qui est la gestion *Pour la 5) pouquoi peux je ps dire qu'une ligne est l'ensemble de caractéristiques d'un élement du table? *Pou la 7),je comprend que enregistrement est à éviter à utiliser dans le contexte du BDDR *Pour 8), Pour la clé subrogé "surrogate key",J'ai pas compris est-ce qu'il s'agit d'une valeur de clé primaire enregistré ou un attribut artifciel qui remplace la clé primaire et généré par the database-generated uuid (par exemple, un HR number pour chaque employé AUPRES de son UUID(clé priimaire) ).La notion de ce type de clé est ambigue encore ![]() S'il un type de clé qui remplace le clé primaire,pourquoi ne peux je pas dire qu'il assure la non duplication? 10)Ok pour les jointures naturelles=equijointure=jointures interne,et s'il s'agit des jointures extrenes(LFET Joint,Right Join)??? Merci d'avance pour les clarifications que vous me donnez
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
elgafsi
on joue sur les mots, car c'est l'énoncé lui même qui n'est pas clair du tout. je vais essayer de te donner quelques pistes concernant tes dernières questions : Un clef primaire, en soit, n'empêche pas de dupliquer les données, d'une certaines façon : soit la table contact(IDContact, nom, prenom, telephone) si son contenu est : 1|Codd|Edgar Frank|0102030405 2|Codd|Edgar Frank|0102030405 il y a bien une clef primaire, mais on ne peut pas dire qu'il y a non duplication. D'un point de vue de la base de données, ces deux lignes n'ont rien a voir, mais il est évident qu'elle contiennent en fait les memes données. Ce qu'il faudra pou éviter ca, c'est une contrainte d'unicité sur les colonnes (Nom, Prenom, Telephone) pour ce qui est des jointures externes, elles te permettent de faire ressortir les lignes des la table 1 qui n'ont pas de ligne correspondante dans la table 2 |
|
|
00
|
|
|
#10 | |||||||||||||
![]() ![]() |
Citation:
Un trigger s'apparente plutôt à un programme que le SGBD exécutera à la place d'une requête d'insertion ou de mise à jour. Citation:
Citation:
Citation:
Je maintiens ma réponse : Citation:
Citation:
Dans un système d'information d'entreprise, qui sert donc à la gestion de l'entreprise, il peut y avoir beaucoup de domaines différents. Il n'y a aucun rapport direct entre la prospection des clients et les machines de l'atelier. Pourtant ces deux domaines peuvent être pilotés en utilisant la même BDD parce que de proche en proche, on peut partir de l'un pour arriver à l'autre : - Prospects => Devis => Commande => Fabrication => Utilisation des machines. Et à toutes les étapes on peut par exemple faire appel à la table des personnes : - Le commercial qui prospecte ; - Le chiffreur du devis ; - La personne qui reçoit et enregistre la commande ; - Le chef de production qui lance l'ordre de fabrication ; - Le chef d'atelier qui planifie l'affectation des machines. Donc pour moi, prospection et affection des machines sont des domaines différents mais qui peuvent se retrouver pilotés autour de la même BDD. C'est pour ça que j'ai refusé la seconde réponse. Une fois de plus, les réponses proposées sont incomplètes, imprécises, ambigües. Citation:
Citation:
Et même si on remplace "enregistrement" par "ligne", je trouve que la seconde réponse n'est pas tout à fait exacte. La bonne réponse serait : "Une ligne est un ensemble de valeurs en relation d'une table." Et le terme "relation" est ici à prendre dans le sens de l'algèbre relationnelle : ce sont les relations entre les valeurs d'une ligne qui fait que cette ligne est cohérente. Les "caractéristiques" évoquées dans la réponse proposées seraient plutôt la définition des colonnes de la table (leur type et leurs éventuelles contraintes). Citation:
![]() Citation:
Je peux par exemple définir un employé de la manière suivante : Employé (matricule, nom, prénom, date_naissance) Matricule est une clé candidate car il permet effectivement d'identifier de manière unique chaque employé. Mais c'est une mauvaise clé technique pour la table parce que le matricule sera de type VARCHAR, ce qui est contre-performant, pourra changer de valeur (rachat de l'entreprise => adoption du format de matricule du groupe acheteur), ce qui pose problème pour la mise à jour des clés étrangères à cause du risque d'un oubli de déclaration d'une clé étrangère quelque part. On créera donc pour la table une clé artifielle, une surrogate key ou en fançais une clé de substitution qui sera de type entier et invariable, utilisée uniquement par le SGBD et non signifiante pour l'utilisateur, auquel d'ailleurs on ne la présentera d'ailleurs jamais. Je te renvoie à l'article de SQLPro qui explique l'avantage des clés auto-incrémentées en détail. Citation:
Revenons à la question : Citation:
Je cite le livre de SQLPro (je ne l'avais pas sous la main hier) : Citation:
La bonne réponse concernant la jointure naturelle est donc "même type et même nom". Dans toutes les autres jointures, internes ou externes, les types des colonnes doivent être identiques mais les noms des colonnes peuvent être différents.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||||||||||||
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : février 2009 Messages : 59 ![]() |
Bonjour Modérateur,
Tu mérites d'être modérateur Bravo ![]() Merci beaucouppppp pour votre aide à+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com