programme
DESCRIPTION
Programme. Introduction aux BD et aux SGBD Le modèle relationnel Le langage de requête SQL La conception d’une BD relationnelle Protection des informations Perspectives des BD. Comment concevoir une base de données ?. Dictionnaire de données. liste des rubriques + renseignements associés - PowerPoint PPT PresentationTRANSCRIPT
Evry, 29-31 mai 2000 1© INT
Programme
• Introduction aux BD et aux SGBD
• Le modèle relationnel
• Le langage de requête SQLLa conception d’une BD relationnelle
• Protection des informations
• Perspectives des BD
Comment concevoirune base de données ?
Evry, 29-31 mai 2000 3© INT
Dictionnaire de données• liste des rubriques + renseignements associés
– des indications comme la nature et le type, – l’entité ou l’association de rattachement, – les contrôles, – la date de création et l’auteur, – les autorisations de mise à jour, – le nombre d’occurrences de valeurs, – des exemples de valeurs, – le contexte d’utilisation,– ....
Evry, 29-31 mai 2000 4© INT
Dictionnaire de données (2)• code• libellé• nature :
– rubriques non calculées (NC) : par exemple le nom d’un client
– les paramètres (P) : par exemple le taux de TVA– les rubriques calculées (C) : par exemple le montant T.T.C.
sur une facture– les rubriques calculées incrémentées (CI) : par exemple le
numéro d’une facture
• commentaires
Evry, 29-31 mai 2000 5© INT
Epuration du dictionnaire de données
• Rubrique ayant plusieurs significations => remplacée par plusieurs– Date peut être remplacée par date_commande,
date_livraison;• Elimination des synonymes
– numéro client et code_client : idem;• Rubriques décomposées en sous rubriques =>
décomposition – Par exemple, une adresse peut être décomposée en un
numéro de rue, un nom de rue, un code postal et une ville. La notion d’adresse disparaît alors
• Outils d’aide à la constitution d’un DD : AGL
Evry, 29-31 mai 2000 6© INT
Présentation du dictionnaire de données
• Un dictionnaire de données se présente sous forme tabulaire:
Code Libellé Nature CommentaireNo_client Numéro de client NC Synonyme de code_clientNom_c Nom de client NC Nom usuelRem Remise accordée C Pourcentage calculé en fonction de la catégorie
Evry, 29-31 mai 2000 7© INT
Théorie de la normalisation
• organisations :– Bains(nn, nom, prénom, qualité, date, durée,
np, nomp, type région, pollution)et
– Nageur(nn, nom, prénom, qualité)Plage(np, nomp, type, région, pollution)Baignade(nn, np, date, durée)
Evry, 29-31 mai 2000 8© INT
• Mauvaise conception
– Redondance des données– Incohérence en modification– Anomalie d’insertion– Anomalie de suppression
But
Evry, 29-31 mai 2000 9© INT
• Modélisation – contraintes sur les données– réalité– limites à la base
• Définition– Un attribut B dépend fonctionnellement de A si, étant
donné une valeur de A, il lui correspond une unique valeur de B (quel que soit l’instant t)
– A détermine B
• Notation A B
Dépendance fonctionnelle (DF)
Evry, 29-31 mai 2000 10© INT
• L ’attribut A peut être composé de plusieurs attributs. – immatriculation, date no_propriétaire
• DF : propriété définie sur tous les tuples, vérifiée en permanence
• DF non symétrique en général– nom nn n’est pas vérifiée.
• Deux nageurs différents peuvent posséder le même nom (Dupont, Martin)
Dépendance fonctionnelle (2)
Evry, 29-31 mai 2000 11© INT
Exemples
• nn nom ?• nn prénom ?• nom, prénom
qualité ?• nn qualité ?• np nomp ?• np région ?• np pollution ?• np type ?
• Région np ?• nom, région np ?
Evry, 29-31 mai 2000 12© INT
• Réflexivité– Y X X Y
• Augmentation– X Y XZ YZ
• Transitivité– X Y et Y Z X Z
Axiomes d’Armstrong
Evry, 29-31 mai 2000 13© INT
Propriétés déduites
• Union– X Y et X Z X YZ
• Pseudo-transitivité– X Y et YW Z XW Z
• Décomposition– X Y et Z Y X Z
Evry, 29-31 mai 2000 14© INT
Dépendance fonctionnelle élémentaire
• DF + Axiomes => toutes les DF• DF élémentaire : DF non déductibles • Une dépendance fonctionnelle X A est dite élémentaire si
– A n’est pas inclus dans X
– il n’existe pas X’ inclus dans X tel que X’ A
• famille génératrice = couverture minimale• Exemple :
– nomp, région pollution
– nomp pollution ou région pollution faux
Evry, 29-31 mai 2000 15© INT
Graphe de dépendances fonctionnelles
• noeuds = attributs
• arcs = DF
nn np
nom prénom qualité région nomp type pollution date
durée
Evry, 29-31 mai 2000 16© INT
Fermeture transitive• FT = DF + DF obtenues par transitivité
• Notée F+
• Nouvelles DF :– nomp, région type– nomp, région pollution.
nn np
nom prénom qualité région nomp type pollution date
durée
Evry, 29-31 mai 2000 17© INT
Couverture minimale• Définition
– sous ensemble minimum de dépendances fonctionnelles élémentaires permettant de générer toutes les autres
• Exemple– (nn nom, nn prénom, nn qualité, np nomp, np
région, nomp, région pollution, nomp, région type, nomp, région np)
• Théorème– Tout ensemble de dépendances fonctionnelles admet une
couverture minimale, en général non unique
Evry, 29-31 mai 2000 18© INT
Clé d’une relation• Définition
– ensemble minimum d’attributs permettant de déterminer tous les autres
• Soit R(A1, A2, ..., An) un schéma de relation. Soit F+ l’ensemble des dépendances fonctionnelles associées à R. Soit X un sous-ensemble d’attributs de R. X est une clé de R ssi :– X A1, A2, ..., An
– il n’existe pas de sous-ensemble Y de X tel que Y A1, A2, ..., An
Evry, 29-31 mai 2000 19© INT
Clé d’une relation (2)
• Exemple– nn est une clé de la relation nageur
• Remarques– Plusieurs clés peuvent être candidates pour une
même relation– Dans l’écriture du schéma, la clé est soulignée
Evry, 29-31 mai 2000 20© INT
Décomposition d’une relation
Relation universelle DF
nom type nn
région durée
nomp qualité date Normalisation
prénom np pollution R1(.....)
R2(....)
......
Evry, 29-31 mai 2000 21© INT
Décomposition d’une relation (2)• Décomposition sans perte• Décomposition préservant les DF• Décomposition d’un schéma de relation
– La décomposition d’un schéma de relation R(A1, A2, ..., An) est sa substitution par un ensemble de schéma de relations R1, R2, ..., Rp telles que :
• schéma(R) schéma(R1) schéma(R2) ... schéma(Rp)
Evry, 29-31 mai 2000 22© INT
Décomposition sans perte
• La décomposition d’un schéma de relation R(A1, A2, ..., An) par un ensemble de schéma de relations R1, R2, ..., Rp est sans perte ssi :
– R R1>< R2 ><...>< Rp
• Une décomposition d’une relation en deux relations est sans perte si l’attribut de jointure est clé d’une des deux relations
Evry, 29-31 mai 2000 23© INT
Décomposition préservant les DF
• La décomposition d’un schéma de relation R(A1, A2, ..., An) par un ensemble de schéma de relations R1, R2, ..., Rp préserve les dépendances fonctionnelles si la fermeture transitive de R est la même que l’union des fermetures transitives de chacune des relations
Evry, 29-31 mai 2000 24© INT
Formes normales
• Première forme normale
• Deuxième forme normale
• Troisième forme normale
Evry, 29-31 mai 2000 25© INT
1ère forme normale• Définition
– Une relation est en première forme normale si tous ses attributs sont atomiques.
• Un attribut atomique n’est pas :– multivalué (liste de valeurs)– composé (structuré en sous-attributs)
• Pour toute relation en première forme normale, un attribut représente une donnée élémentaire du monde réel
Evry, 29-31 mai 2000 26© INT
Exemple• Bains(nn, np, date, durées)
– «durées» : liste des durées de baignade - attribut multivalué
– Cette relation n’est donc pas en première forme normale
• Solutions :– nombre de baignades limité par jour
• Bains(nn, np, date, durée1, durée2, durée3)
– nombre illimité• Bains(nn, np, date, durée)• autant de tuples qu’il y a de baignade
Evry, 29-31 mai 2000 27© INT
Deuxième forme normale
• Définition– Une relation est en deuxième forme normale
ssi:• elle est en première forme normale
• tout attribut non clé dépend de la totalité de la clé
R(A,B,C,D) interditok
Evry, 29-31 mai 2000 28© INT
Deuxième forme normale (2)
• Exemple– Plage(nomp, région, type, pollution) est-elle en
deuxième forme normale ?
• Remarque– Toute relation contenant une clé non composée
est automatiquement en deuxième forme normale si elle est en première forme normale
Evry, 29-31 mai 2000 29© INT
Troisième forme normale • Objectif : élimination des redondances dues aux
dépendances fonctionnelles déduites par transitivité
• Définition– Une relation est en troisième forme normale ssi:
• Elle est en deuxième forme normale
• Si tout attribut non clé dépend directement de la clé, il n’existe donc aucune dépendance avec un attribut non clé
R(A,B,C,D,E)
interditok
Evry, 29-31 mai 2000 30© INT
Propriétés
• Toute relation R admet au moins une décomposition en troisième forme normale telle que :– elle préserve les dépendances fonctionnelles
– elle est sans perte
• Exemple– plage(np, région, type, pollution)
– Hypothèse : région type => plage n’est pas en troisième forme normale
– Transformation • plage(np, région, pollution)
• région (région, type)
Evry, 29-31 mai 2000 31© INT
Algorithme de décomposition en troisième forme normale
• Pré : connaissance du contenu de la relation universelle + DF
• Principe de l’algorithme :– A partir du graphe G des DF, calculer une couverture minimale C– Editer l’ensemble des attributs isolés dans une même relation (tous sont clés)– Recherche le plus grand ensemble X d’attributs qui détermine d’autres
attributs– Editer la relation R(X, A1, ..., An)– Supprimer les DF X A1, .., X An du graphe de couverture minimale C– Supprimer les attributs isolés de C – Reprendre l’opération à partir de l’étape 3 jusqu’à ce que C soit vide
Evry, 29-31 mai 2000 32© INT
Conclusions
• Importance de la normalisation des relations
• Autres formes normales
Evry, 29-31 mai 2000 33© INT
Modèle entité-association
• Concepts et définitions– Entité– Type d’entité– Domaine– Attribut– Clé– Association– Type d’association
Evry, 29-31 mai 2000 34© INT
Traduction d’un modèle entité-association vers un modèle
relationnel• Exemple
Etudiant Cours Prof
No_etu 1,n s'inscrire 1,n Code 1,1 superviser 1,n Nom_prof
Nom_etu Date_ins Libellé Fonctions
Adr_etu Prénom
0,1
Possède
0,1
Voiture
No_plaque
Evry, 29-31 mai 2000 35© INT
Entité
• Entité = objet (concret ou abstrait)
• Existe en tant que tel, sans être soumis à l’existence d’une autre entité
• Exemples :– Produit X– Module d’enseignement de mathématiques– Lion
Evry, 29-31 mai 2000 36© INT
Type d’entité• Regroupement des entités en fonction de leurs
caractéristiques communes => Type d’entité• Exemple :
– Regrouper éléphant, tortue et zèbre en un type d’entité : « animal »
– Informations en commun (par leur structure) : poids, taille, alimentation, ....
Evry, 29-31 mai 2000 37© INT
Domaine• Ensemble de valeur• A partir de type communs :
– entier, chaîne de caractères, ...
• Plus finement :– par extension en listant les valeurs possibles– en définissant des plages de valeurs
• Exemples :– âge : entier– âge : entier compris entre 0 et 130– situation familiale : ensemble de valeurs (‘célibataire’, ‘marié’,
‘veuf’, ‘divorcé’)
Evry, 29-31 mai 2000 38© INT
Attribut
• Attribut : propriété d’un type d’entité
• Pour chaque entité d’un type d’entité une valeur est associée à cet attribut
• Exemple :– Type d’entité animal, Entité éléphant :
• Taille = 2,30 m
• Poids = 1000 kg
• Alimentation = 'végétarien'
Evry, 29-31 mai 2000 39© INT
Clé
• Attribut (ou groupe d’attributs) particulier d’un type d’entité
• Différencie toutes les entités d’un même type d’entité
• Exemple :– Numéro d’étudiant– Plaque d’immatriculation
Evry, 29-31 mai 2000 40© INT
Représentation graphique
Animal Etudiant
Numéro Numéro étudiant
Taille Adresse
Poids Age
Alimentation Année
Evry, 29-31 mai 2000 41© INT
Association
• Association d’entités : regroupement d’entités
• Traduit plutôt une action entre les entités
• Exemple :– Alimenter :association entre un le lion Clarence
et le gardien John– Se baigner: association entre le nageur Gaël et
la plage de Binic
Evry, 29-31 mai 2000 42© INT
Type d ’association• Regroupement des associations en type d’association• Peuvent posséder des attributs• Attribut d’un type d’association: propriété dépendant de
tous les types d’entités intervenant dans l’association• Exemple: la date de prise en charge d’un animal par un
gardien dépend degardien
+
animal
Evry, 29-31 mai 2000 43© INT
• Attention : une association ne possède pas de clé!!!!
Représentation graphique
Animal Etudiant
Numéro Numéro étudiant
Taille apprivoiser Adresse
Poids date_début Age
Alimentation Année
Evry, 29-31 mai 2000 44© INT
Exemples
• Un enseignant est responsable d’un module ....Enseignant Module
Numéro Id_mod
Nom superviser Libellé
Prénom date_début Nb_heures
Adresse Année
Evry, 29-31 mai 2000 45© INT
Exemples (2)
• Une personne peut être le parent (père ou mère) d’une autre ...
Personne
Numéro_ss
Nom être parent
Prénom
Adresse
Evry, 29-31 mai 2000 46© INT
Exemples (3)• A vous de jouer : le type d’association
"inscrit" défini entre les types d’entités "étudiant" et "module" a pour attribut le numéro d’ordre d’inscription pour ce module (l’étudiant s’inscrit pour la 1ère, la 2ème fois à ce module, ..)
Evry, 29-31 mai 2000 47© INT
Remarques• On ne crée jamais de type d’entité pour
représenter un ensemble d’entité réduit à un seul élément
• Un attribut n’apparaît qu’à une seule place s’il n’y a pas de polysèmes (mots ayant plusieurs sens). Pas de duplication de l’information!
• Toutes les rubriques du DD ne deviennent pas attributs du modèle. Attribut : rubrique non paramètre, non calculée
Evry, 29-31 mai 2000 48© INT
Différentes configurations d’associations
• Associations binaires
• Associations n-aires
Evry, 29-31 mai 2000 49© INT
Associations binaires de type 1:1
• À une entité E peut correspondre par l’association A au plus une entité de F
• À une entité F peut correspondre par l’association A au plus une entité de E
Evry, 29-31 mai 2000 50© INT
Exemple
Enseignant Dept
Numéro no_dept
Nom diriger Libellé
Prénom date_affect
Adresse
Evry, 29-31 mai 2000 51© INT
Associations binaires de type 1: n
• À une entité E peut correspondre par l’association A plusieurs entités de F
• À une entité F peut correspondre par l’association A au plus une entité de E
Evry, 29-31 mai 2000 52© INT
Exemple
Enseignant Module
Numéro no_module
Nom responsable Libellé
Prénom
Adresse
Evry, 29-31 mai 2000 53© INT
Associations binaires de type n:m
• À une entité E peut correspondre par l’association A plusieurs entités de F
• À une entité F peut correspondre par l’association A plusieurs entités de E
Evry, 29-31 mai 2000 54© INT
Exemple
Enseignant Module
Numéro no_module
Nom intervenir Libellé
Prénom
Adresse
Evry, 29-31 mai 2000 55© INT
Association n-aires• Plus de deux entités• Par exemple, type d’association ternaires. • Case d’emploi du temps déterminée que si
l’on a – l’horaire– le jour– la matière– la classeType d’association quaternaire
Evry, 29-31 mai 2000 56© INT
Cardinalités d’un couple entité-association
• La cardinalité d’un couple entité-association E, A est un couple de nombre m, n où :– m définit le nombre minimum d’association de
type A pouvant exister pour une entité E– n définit le nombre maximum d’association de
type A pouvant exister pour une entité E
Evry, 29-31 mai 2000 57© INT
Valeurs caractéristiques
• Valeurs caractéristiques du minimum :– 0 – 1– Entier plus grand que 1
• Valeurs caractéristiques du maximum:– 1– n– Entier plus grand que 1
Evry, 29-31 mai 2000 58© INT
Représentation graphique
Enseignant
Numéro
Nom 0, n responsable
Prénom
Adresse
Evry, 29-31 mai 2000 59© INT
Exemples Enseignant Dept
Numéro no_dept
Nom 0,1 diriger 1,1 Libellé
Prénom date_affect
Adresse
Enseignant Module
Numéro no_module
Nom 1,n intervenir 1,n Libellé
Prénom
Adresse
Evry, 29-31 mai 2000 60© INT
Rôle
Personne
Numéro_ss avoir des parents
Nom 2,2 être parent
Prénom 0, n
Adresse être parent
Evry, 29-31 mai 2000 61© INT
Spécialisation/généralisation d’entités
• Spécialisation d’un type d’entité – Définir des sous-types d’entités– Affiner la représentation des données
• Généralisation – Créer un sur-type d’entité– Mettre en facteur les attributs communs à
plusieurs types d’entités
Evry, 29-31 mai 2000 62© INT
Exemple
Personne
Femme Homme Effectuer Service
Evry, 29-31 mai 2000 63© INT
Intervention de la théorie de la normalisation
• Types d’entités
• Cardinalités
• Attributs des types d’association
Evry, 29-31 mai 2000 64© INT
Type d’entité
• Clé d’un type d’entité E : ensemble d’attributs qui détermine fonctionnellement tous les autres attributs de ce type d’entité
• Un type d'entité doit vérifier les trois formes normales
Evry, 29-31 mai 2000 65© INT
Cardinalités
• Association ?,1 – Si la cardinalité du couple (E, A) où E est un
type d’entité et A est un type d’association est (?,1) => une occurrence de E participe au plus à une association de A
– Cette occurrence détermine donc les autres entités participant à cette association
– Toute clé de E détermine fonctionnellement les clés des autres types d’entité participants
Evry, 29-31 mai 2000 66© INT
Attributs de type d’association
• Si T est un attribut d’un type d’association A => T dépend fonctionnellement de l’ensemble des clés de chacun des types d’entité participants
• Exemple:– date_affect du type d’association ‘ diriger ’ défini entre les
deux types d’entités ‘ Enseignant ’ et ‘ département ’: num_ens, num_dept date_affect
• => aucun type d’association ne peut posséder de clé
Evry, 29-31 mai 2000 67© INT
Construction du schéma entité-association
• Méthode descendante
• Méthode ascendante
Evry, 29-31 mai 2000 68© INT
Méthode descendante
• Point de départ : univers du discours
• Etapes:1- DD + règles de gestion
2- Recensement des entités et des associations (intuitif)
3- Placement des attributs au sein des types d’entités et d’association
4- Calcul des cardinalités (DF)
Evry, 29-31 mai 2000 69© INT
Méthode descendante (2)
5-Vérification : • Respects des règles du formalisme E/A
– Absence de répétition d’attribut
– Une clé par type d’entité
– Vérifier les DF
– Vérifier les cardinalités /règles de gestion
Evry, 29-31 mai 2000 70© INT
Méthode descendante (3)Vérification :(suite)
• Normalisation : – Vérifier la 3 FN pour tous les types d’entité
– Vérifier les types d’association n-aire : décomposition en plusieurs types d’association de degré plus faible
– Supprimer les types d’associations qui se déduisent par transitivité d’autres types d’associations
6-Validation : • Par l’utilisateur
• Par l’analyse des traitements
Evry, 29-31 mai 2000 71© INT
Méthode ascendante
• Point de départ : sorties
• Méthode de Flory
• Etapes :1- Recensement des rubriques (existantes ou
souhaitées) => DD
2- Rechercher les DF (matrice carrée)
3- Couverture minimale
4- Elimination des circuits
Evry, 29-31 mai 2000 72© INT
Méthode ascendante (2)
5- Construction du schéma : • Recherche des clés primaires :
– S : ensemble des attributs correspondant à des sommets du graphe des dépendances fonctionnelles G
– B : ensemble des attributs étant le but d’au moins une dépendance fonctionnelle et origine d’au moins une dépendance fonctionnelle
– Chaque attribut de S ou de B est une clé primaire d’un des types d’entité du modèle entité-association
Evry, 29-31 mai 2000 73© INT
Méthode ascendante (3)Construction du schéma : (suite)
• Recherche des types d’entité : – Chaque attribut de S et de B devient clé d ’un type d’entité
E – Si s est dans S, les attributs déterminés par s n’étant ni
dans S ni dans B sont attributs de E;
• Recherche des types d’associations : – Deux clés définies liées par un arc dans G induisent une
association de type 1,n– La cardinalité (?,1) est rattachée à l’entité dont la clé est
source de la dépendance fonctionnelle
a
b a ?,1 1,? b
Evry, 29-31 mai 2000 74© INT
Méthode ascendante (4)Construction du schéma : (suite)
• Recherche des types d’associations : – un arc de G provenant de plusieurs sommets (n sommets)
vers un attributs non clé se traduit par un type d’association n-aire A de type n:m associant les types d’entités correspondant aux sommets
a c
r a r c
Evry, 29-31 mai 2000 75© INT
Méthode ascendante (5)Construction du schéma : (suite)
• Recherche des types d’associations : – un arc G provenant de plusieurs sommets (p sommets) et allant
vers un attribut clé constitue un type d’association (p+1)-aire;
– Ajouter les associations sans attribut (non déductibles des DF)
6- Validation
a c
d a c
e
d
Evry, 29-31 mai 2000 76© INT
Remarques• Peu de types d’association ternaire ou plus• Abus de langage
– Entité à la place de type d’entité – Association à la place de type d’association– Entité = objet ; Entité = occurrence d’entité– Type d’entité = concept abstrait détaché de la réalité
• Modèle entité-association = modèle entité-relation• Représentation graphique variable• Rédiger des hypothèses!
Evry, 29-31 mai 2000 77© INT
Traduction d’un modèle entité-association vers un modèle
relationnel• Exemple
Etudiant Cours Prof
No_etu 1,n s'inscrire 1,n Code 1,1 superviser 1,n Nom_prof
Nom_etu Date_ins Libellé Fonctions
Adr_etu Prénom
0,1
Possède
0,1
Voiture
No_plaque
Evry, 29-31 mai 2000 78© INT
Règle 1• Type d'entité -> relation• Attribut atomique -> constituant (attribut)• Attributs composites -> n constituants• Attribut(s) clé(s) -> clé candidate• Exemple
– Etudiant(No_etu, Nom_etu, Adr_etu)– Cours(Code, Libellé)– Prof(Nom_prof, Prénom)
Evry, 29-31 mai 2000 79© INT
Règle 2
• Clé associée à E1 (ou E2) -> attribut de E2 (ou E1)
• Attributs de R -> attributs de E2 (ou E1)• Exemple:
– Etudiant(No_etu, Nom_etu, Adr_etu, No_plaque)
E1 ?,1 R ?,1 E2
Evry, 29-31 mai 2000 80© INT
Règle 3
• Clé associée à E1 -> attribut de E2
• Attributs de R -> attributs de E2
• Exemple– Cours(Code, Libelle, Prof_resp)
E1 ?,1 R ?,n E2
Evry, 29-31 mai 2000 81© INT
Règle 4
• Création d'une nouvelle relation R
• Clé de E1 + Clé de E2 -> clé de R
• Attributs de R-> Attributs de R
• Exemple– Inscription(No_étudiant, No_cours,
Date_inscription)
E1 ?,n R ?,n E2
Evry, 29-31 mai 2000 82© INT
Règle 5
• Création d'une nouvelle relation R
• Attribut multivalué -> constituant
• Clé du type d'entité associé -> constituant
• Clé de la relation : tout le schéma
• Exemple:– Fonctions(Nom_enseig, Fonction)
Evry, 29-31 mai 2000 83© INT
Résultat
• Prof(Nom_prof, Prénom)
• Etudiant(No_etu, Nom_etu, Adr_etu, No_plaque)
• Cours(Code, Libelle, Prof_resp)
• Inscription(No_étudiant, No_cours, Date_inscription)
• Fonctions(Nom_enseig, Fonction)
Evry, 29-31 mai 2000 84© INT
Remarques
• Règles de traduction => relations en 3ème FN
• Bon schéma E/A => bon schéma relationnel