GCOS 7 Versions V5 et suivantes



Documents pareils
BASES DE DONNÉES RÉSEAUX ET HIÉRARCHIQUES

Chapitre 1 : Introduction aux bases de données

Oracle Learning Library Tutoriel Database 12c Installer le logiciel Oracle Database et créer une Database

Jean-Pierre CHEINEY Philippe PICOUET Jean-Marc SAGLIO

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Guide de récupération de Windows Server 2003 R2 pour serveurs Sun x64

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

IFT Concepts. Claude Frasson A de Bases de données avancées

Utilisateur. Auteurs. Laurent project engineer

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Installation FollowMe Q server

420-PK6-SL Banques de données Avancées UTILISATEURS

OASIS Date de publication

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Le Langage De Description De Données(LDD)

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

ORACLE TUNING PACK 11G

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Bases de Données. Plan

Stakeholder Feedback Form January 2013 Recirculation

Guide de l'utilisateur de l'application mobile

Nouveau Web Client marquant, Cumulus Video Cloud, optimisations de la base de données, et plus..

Logiciel Enterprise Guide Version 1.3 Windows

Historisation des données

Guide d'installation. Release Management pour Visual Studio 2013

Bernard HAMM, Évelyne LAVOISIER

Master Développement Durable et Organisations Master s degree in Sustainable Development and Organizations Dossier de candidature Application Form

Samsung Data Migration v2.6 Guide d'introduction et d'installation

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Le Langage SQL version Oracle

Langage SQL : créer et interroger une base

Centre de Ressources pour les Evaluations (ERC) Guide d'utilisateur. Bureau d Evaluation, Septembre 2006

SOMMAIRE. Travailler avec les requêtes... 3

Comment sauvegarder ses documents

AccuRead OCR. Guide de l'administrateur

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

Introduction aux SGBDR

Once the installation is complete, you can delete the temporary Zip files..

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

TP Service HTTP Serveur Apache Linux Debian

Guide d'installation rapide TFM-560X YO.13

RECOMMANDATION UIT-R SM (Question UIT-R 68/1)

Création de Sous-Formulaires

Notion de base de données

OpenOffice.org Calc Ouvrir un classeur

WebSpy Analyzer Giga 2.1 Guide de démarrage

Utiliser Glary Utilities

A.-M. Cubat PMB - Import de notices à partir d un tableur Page 1 Source :

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

SYSTÈME DE GESTION DE FICHIERS

WEB page builder and server for SCADA applications usable from a WEB navigator

Guide pour l Installation des Disques Durs SATA et Configuration RAID

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

1/ Présentation de SQL Server :

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Article 1 : Champ d'application

Guide de démarrage du système modulaire Sun Blade 6000

Chapitre 10. Architectures des systèmes de gestion de bases de données

Instructions Mozilla Thunderbird Page 1

Optimisation SQL. Quelques règles de bases

Introduction aux bases de données

Infrastructure - Capacity planning. Document FAQ. Infrastructure - Capacity planning. Page: 1 / 7 Dernière mise à jour: 16/04/14 16:09

progecad NLM Guide de l'utilisateur

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

CHAPITRE 1 ARCHITECTURE

Olivier Mondet

Guide de l'utilisateur de Symantec Backup Exec System Recovery Granular Restore Option

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN

Guide d installation de SugarCRM Open Source version 4.5.1

Systèmes d information et bases de données (niveau 1)

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Optimisation du bureau Oracle Solaris pour un environnement multiutilisateur

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Guide d'installation du token

Fiche produit ifinance v4

OpenOffice.org Présentation - Débuter. Distribué par Le projet OpenOffice.org

LES FICHES Domaines. Domaine D1. Travailler dans un environnement numérique

Les principes de la sécurité

Présentation du SC101

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Plan. Excalibur. Les opérations sur données. SQL or not SQL? Backups. Inter opérabilité

Exploitation des données issues de BE ( utilisation du tableur CALC) Fiche de travail (individuelle ou en binôme)

CONVENTION DE STAGE TYPE STANDART TRAINING CONTRACT

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Pourquoi l apprentissage?

A QUOI SERVENT LES BASES DE DONNÉES?

Logiciel d'analyse de données. Version huit. Guide d installation

RAPID Prenez le contrôle sur vos données

Nuxeo 5.4 : les nouveautés

MODE OPERATOIRE OPENOFFICE BASE

Installation d'un TSE (Terminal Serveur Edition)

Sage CRM. Sage CRM 7.3 Guide du portable

FAQ pour tablette Windows 8 (NS-15MS0832 et NS-15MS0832B) Avril 2015

Transcription:

Bases de données Bull DPS 7000 IDS/II Etendu - Concepts GCOS 7 Logiciel Sujet : Ce manuel présente les concepts et les caractéristiques du soussystème de gestion de base de données IDS/II, dans sa version de base et sa version étendue. Observations : Version du logiciel : GCOS 7 Versions V5 et suivantes Date : Août 1996 Bull Electronics Angers S.A. Bull HN Information Systems Inc. CEDOC Publication Order Entry Atelier de reprographie FAX: (508) 294-7411 331, Avenue Patton MA02/423S 49004 ANGERS Cedex 01 Technology Park FRANCE Billerica, MA 01821 U.S.A. 47 F2 10UD Rev00

Copyright Bull S.A., 1996 Toutes les marques citées sont la propriété de leurs titulaires respectifs. Vos suggestions sur la forme et le fond de ce manuel seront les bienvenues. Une feuille destinée à recevoir vos remarques se trouve à la fin du présent manuel. La loi du 11 mars 1957, complétée par la loi du 3 juillet 1985, interdit les copies ou reproductions destinées à une utilisation collective. Toute représentation ou reproduction intégrale ou partielle faite par quelque procédé que ce soit, sans consentement de l'auteur ou de ses ayants cause, est illicite et constitue une contrefaçon sanctionnée par les articles 425 et suivants du code pénal. Ce document est fourni à titre d'information seulement. Il n'engage pas la responsabilité de Bull S.A. en cas de dommages résultant de son application. Des corrections ou modifications au contenu de ce document peuvent intervenir sans préavis ; des mises à jour ultérieures les signaleront éventuellement aux destinataires.

Préface OBJET DU MANUEL Ce manuel constitue une introduction aux concepts et aux caractéristiques du soussystème de gestion de base de données IDS/II, et aux améliorations apportées à sa version étendue, exploitée sous GCOS7 V5 (et versions ultérieures). UTILISATEURS CONCERNÉS Ce manuel s'adresse aux administrateurs, opérateurs et utilisateurs d'ids/ii, ainsi qu'à toute personne responsable de la gestion d'une base de données IDS/II. STRUCTURE DU MANUEL Le chapitre 1 présente la base de données IDS/II, créée par le biais d'une description unique appelée schéma. Le chapitre 2 décrit les améliorations apportées au produit et, notamment, la plus importante : l'implémentation du sous-schéma, qui fournit aux utilisateurs une vue partielle de la base, pour l'exploitation des données. 47 F2 10UD Rev00 iii

IDS/II Etendu - Concepts BIBLIOGRAPHIE Cette bibliographie est fournie à titre indicatif. Pour plus de précisions (disponibilité du manuel, numéro de révision, indice de mise à jour), veuillez vous adresser à CEDOC. IDS/II Etendu - Manuel de référence - Volume 1...47 F2 05UD IDS/II Etendu - Manuel de référence - Volume 2...47 F2 06UD Full IDS/II Reference Manual Volume 1... 47 A2 05UD Full IDS/II Reference Manual Volume 2... 47 A2 06UD IDS/II Etendu - Guide de l'utilisateur...47 F2 07UD IDS/II User's Guide... 47 A2 07UD IDS/II Etendu - Aide-mémoire...47 F2 09UD Full IDS/II Reference Card... 47 A2 09UD IDS/II - Manuel de l'administrateur...47 F2 13UD IDS/II Administrator's Guide... 47 A2 13UD Utilitaire de réorganisation de base de données...47 F2 15UD Database Reorganization Utility User's Guide... 47 A2 15UD COBOL 85 - Manuel de référence... 47 F2 05UL COBOL 85 Reference Manual...47 A2 05UL COBOL 85 - Guide de l'utilisateur... 47 F2 06UL COBOL 85 User's Guide...47 A2 06UL iv 47 F2 10UD Rev00

Table des matières 1. Introduction... 1-1 1.1 PRÉSENTATION D'IDS/II... 1-1 1.2 LE SYSTÈME DE GESTION DE BASE DE DONNÉES (SGBD)... 1-1 1.3 STRUCTURE LOGIQUE DE LA BASE DE DONNÉES... 1-2 1.4 MODES DE LOCALISATION... 1-2 1.5 STRUCTURES DES DONNÉES... 1-2 1.5.1 Type d'article (record-type)... 1-3 1.5.2 Type d'ensemble (set-type)... 1-4 1.5.3 Index secondaire... 1-7 1.6 CONTRAINTES DE L'APPARTENANCE À UN ENSEMBLE... 1-8 1.7 OPTIONS D'INSERTION... 1-8 1.8 OPTIONS DE MAINTIEN... 1-10 1.9 OPTIONS DE CLASSEMENT... 1-10 1.10 REPRÉSENTATION DES OCCURRENCES D'ENSEMBLE... 1-11 1.11 DÉFINITION ET MANIPULATION D'IDS/II... 1-13 1.12 CONCEPTS DE BASE DE MANIPULATION DES DONNÉES... 1-13 47 F2 10UD Rev00 v

IDS/II Etendu - Concepts 1.13 ZONE DE TRAVAIL UTILISATEUR (UWA)... 1-13 1.14 INDICATEURS DE POINT COURANT... 1-14 1.15 INDICATEURS D'ÉTAT... 1-15 1.16 DDL DU SCHEMA... 1-15 1.16.1 Schéma intégral d'une base de données de deux articles... 1-17 1.17 DML... 1-18 1.17.1 Verbes DML... 1-19 1.17.2 Commandes DML de localisation des articles d'un type donné... 1-20 1.17.3 Commandes DML appliquées aux ensembles... 1-20 1.17.4 Commandes DML de mise à jour de la base de données... 1-21 1.17.5 Commandes DML appliquées aux clés secondaires... 1-22 1.18 DMCL... 1-23 1.19 UTILITAIRES IDS/II... 1-23 2. Le sous-schéma... 2-1 2.1 FONCTIONS... 2-1 2.2 CLAUSE ALIAS... 2-1 2.3 PROCESS DE VALIDATION... 2-2 2.4 RESTRICTIONS D'ACCÈS... 2-3 vi 47 F2 10UD Rev00

Table des matières Illustrations Figures 1-1 Type d'article... 1-3 1-2 Groupe répétitif... 1-3 1-3 Type d'ensemble... 1-4 1-4 Occurrences d'un type d'ensemble... 1-5 1-5 Occurrence d'ensemble... 1-6 1-6 Options (a) AUTOMATIC FIXED - (b) AUTOMATIC MANDATORY... 1-9 1-7 Schéma d'une base de données IDS/II... 1-12 47 F2 10UD Rev00 vii

IDS/II Etendu - Concepts viii 47 F2 10UD Rev00

1. Introduction 1.1 PRÉSENTATION D'IDS/II IDS/II (Integrated Data Store/II = stockage intégré des données) est un sous-système de gestion de base de données, fonctionnant sous le système d'exploitation GCOS 7. Il existe deux versions de ce produit : l'ancienne version, exploitable sous GCOS 7 V3 et GCOS 7 V5, appelée IDS/II, et IDS/II Etendu, exploitable sous GCOS 7 V5 (et versions ultérieures). Différents types de sous-systèmes de gestion de données ou de systèmes de bases de données ont été développés pour répondre aux attentes des utilisateurs. On distingue, en théorie, trois grandes catégories de systèmes de gestion de bases de données (SGBD) : le modèle hiérarchique, le modèle réseau et le modèle relationnel. Conceptuellement, IDS/II s'inscrit dans le deuxième modèle cité. Les structures du modèle réseau et les éléments de programmation du langage ont été définis, à l'origine, par le comité CODASYL (Conference on Data Systems Languages). Ceci explique qu'il soit souvent fait référence à ce modèle sous le nom de modèle CODASYL. En 1984, l'ansi (American National Standards Institute) recommande l'usage d'une norme NDL (Network Definition Language) relative au langage de définition de réseau évolué. 1.2 LE SYSTÈME DE GESTION DE BASE DE DONNÉES (SGBD) Un système SGBD est constitué d'un ensemble de programmes permettant à l'utilisateur de créer et mettre à jour une base de données. Il s'agit d'un système logiciel à fonctions standard servant à définir, constituer et manipuler des bases de données pour diverses applications. Au moment de définir une base de données, l'utilisateur doit spécifier le type des données à enregistrer dans la base, et fournir une description détaillée de chaque type de données. Pour constituer la base, le traitement consiste à enregistrer les données sur un support contrôlé par le SGBD. Les opérations de manipulation de la base comportent notamment la recherche de données par le biais de requêtes, la mise à jour de la base, et la création de comptes rendus. 47 F2 10UD Rev00 1-1

IDS/II Etendu - Concepts 1.3 STRUCTURE LOGIQUE DE LA BASE DE DONNÉES La structure logique complète de la base de données IDS/II est décrite par le langage DDL (Data Description Language) du schéma. Ce langage sert à créer un schéma, composé de plusieurs parties fonctionnelles : la description de schéma, la description de zone et la description d'ensemble. Dans les descriptions d'article, un type d'article doit renseigner une aire (AREA) lors de sa définition, par le biais de la locution WITHIN AREA, et LOCATION MODE doit être spécifié pour le type d'article. Une aire est un concept qui fait référence à un groupe de types d'article. 1.4 MODES DE LOCALISATION Le mode de localisation d'un type d'article permet de spécifier comment enregistrer les nouvelles occurrences de cet article et rechercher les occurrences existantes. Il existe différents modes de localisation : 1. CALC : dans l'article, c'est sur la base de la clé CALC qu'est enregistré l'article. Cette clé sert au calcul d'une adresse de page. L'article est ensuite enregistré dans cette page ou à proximité. CALC peut être déclaré comme étant unique, par le biais de la locution DUPLICATES NOT ALLOWED. 2. VIA : en DDL, le mot-clé VIA, suivi d'un nom de type d'ensemble, permet d'enregistrer physiquement un article détail le plus près possible de l'article maître, à condition qu'ils soient situés dans la même aire. Sinon, l'article détail est enregistré à la même position relative de son aire que l'article maître dans sa propre aire. 3. DIRECT : les articles sont placés sur une page spécifiée par l'utilisateur ou à proximité. 1.5 STRUCTURES DES DONNÉES La structure de la base de données IDS/II est dotée de deux structures de base, les articles et les ensembles. Les données sont enregistrées dans des articles, chaque article consistant en un groupe de valeurs de données associées. 1-2 47 F2 10UD Rev00

Introduction 1.5.1 Type d'article (record-type) Les articles sont classés par type, chaque type d'article décrivant la structure d'un groupe d'articles dans lesquels des informations de même type sont enregistrées. Un nom est attribué à chaque type d'article, ainsi qu'un nom et un format (type de données) à chaque élément (attribut) du type d'article. La figure ci-après illustre le type d'article STUDENT avec les attributs NAME, NUMBER, ADDRESS, DEPARTMENT et BIRTHDATE, et pour chacune de ces données, le format et le type. STUDENT NAME NUMBER ADDRESS DEPARTMENT BIRTHDATE n o m d e s d o n n é e s NAME NUMBER ADDRESS DEPARTMENT BIRTHDATE format CHARACTER 30 CHARACTER 9 CHARACTER 40 CHARACTER 10 CHARACTER 9 Figure 1-1. Type d'article Contrairement aux modèles relationnel et hiérarchique qui admettent uniquement les attributs simples, le modèle IDS/II permet de définir des attributs complexes. Un vecteur est un attribut à valeurs multiples associé à un article. Un groupe répétitif permet d'inclure dans un article un ensemble de valeurs composées, associées à un attribut. Ce type de groupe est illustré par TRANSCRIPT, dans la figure ci-après, qui comprend les quatre attributs YEAR, COURSE, SEMESTER et GRADE. STUDENT NAME... TRANSCRIPT YEAR COURSE SEMESTER GRADE Smith... 1984 1984 1984 1985 1985 COSC3320 COSC3340 MATH312 COSC4310 COSC4330 Fall Fall Fall Spring Spring A A B C B Figure 1-2. Groupe répétitif 47 F2 10UD Rev00 1-3

IDS/II Etendu - Concepts 1.5.2 Type d'ensemble (set-type) Une application de base de données est généralement dotée d'un grand nombre de types d'article. Ceux-ci sont associés à un mécanisme de type d'ensemble, décrit ci-après. Le type d'ensemble est la description d'une relation 1/n entre deux types d'article. Il se compose de trois éléments : a) le nom de type d'ensemble, b) le type d'article maître, c) le type d'article détail. Reportez-vous à la figure ci-après, où le type d'article s'appelle STUDIES_DEPARTMENT, DEPARTMENT représente le type d'article maître et STUDENT le type d'article détail, ces trois éléments définissant la relation 1/n entre les départements de l'université et les étudiants de ces départements. Dans la base de données IDS/II, il existe un grand nombre d'occurrences d'ensemble qui correspondent à un type d'ensemble donné. Chaque occurrence met en relation un article du type d'article maître (DEPARTMENT dans l'exemple ci-après) avec un ensemble d'articles du type d'article détail qui lui est associé (l'ensemble STUDENT associé à DEPARTMENT). DEPARTMENT DNAME... STUDIES_DEPAR STUDENT SNAME... Figure 1-3. Type d'ensemble Ceci signifie que chaque occurrence d'ensemble est constituée : d'un article maître provenant du type d'article maître, d'articles détail associés provenant du type d'article détail. 1-4 47 F2 10UD Rev00

Introduction Les occurrences d'ensemble sont identifiées par l'article maître ou par un des articles détail. Quatre occurrences d'ensemble sont illustrées ci-après, qui font partie du type d'ensemble STUDIES_DEPARTMENT. Chacune d'elle doit être dotée d'un article maître et d'un ou plusieurs articles détail. Il est généralement fait référence à une occurrence d'ensemble par son article maître ("Science", "Algebra", "Chemistry" et "Physical Education" dans l'exemple ci-après). article maître DEPARTMENT Science... Algebra... Manuel Rivera... John De Witt... article détail STUDENT William Smith... Jane Wong... Ram Prasad... Robert Boniek... Ed Spencer... Kareem Rashad... article maître DEPARTMENT Physical Chemistry... Education... Marc Weinstein... article détail STUDENT Simon Roberts... Figure 1-4. Occurrences d'un type d'ensemble 47 F2 10UD Rev00 1-5

IDS/II Etendu - Concepts Reportez-vous à la figure ci-après où l'occurrence d'ensemble est plus détaillée qu'à la figure précédente, les articles de l'occurrence et les pointeurs les reliant étant représentés. Dans IDS/II, ce sont en effet des pointeurs qui relient les articles d'occurrence d'ensemble. article DEPARTMENT Computer Science... Manuel Rivera... William Smith... article EMPLOYEE Jane Wong... Ram Prasad... Kareem Rashad... Figure 1-5. Occurrence d'ensemble 1-6 47 F2 10UD Rev00

Introduction 1.5.3 Index secondaire Les index secondaires optimisent le temps de recherche d'un article arbitraire : en effet, ce type d'article ne requiert pas l'exécution de recherches linéaires. La zone d'index correspond à l'espace mémoire où l'index secondaire est enregistré. Les entrées d'index sont renseignées par des articles de longueur variable, avec une zone répétitive dédiée au pointeur. Les pointeurs sont répertoriés dans l'entrée d'index, avec un pointeur sur chaque bloc contenant un article, dont la valeur, dans la zone d'indexation, est égale à la valeur du pointeur correspondant. Ainsi, par le biais de la zone d'indexation, le classement des articles est logique : l'accès aux articles dans l'ordre des entrées d'index secondaires les extrait dans l'ordre de la zone d'indexation. L'index secondaire est un index sur une zone de clé, appelée clé secondaire qui, une fois créée, confère une valeur distincte à chaque article du fichier de données. Cette clé fournit une entrée d'index par article du fichier de données, contenant la valeur de la clé secondaire de l'article correspondant, et un pointeur sur le bloc où l'article est enregistré. Dans le fichier de données, les articles ne sont pas classés physiquement selon la valeur de la clé secondaire. C'est pour cette raison qu'est créée une entrée d'index distincte par article du fichier de données, plutôt que par bloc. L'index qui contient une entrée d'index par bloc s'appelle un index primaire. L'index secondaire requiert largement plus d'espace mémoire que l'index primaire, du fait qu'il comporte un plus grand nombre d'entrées. Toutefois, par le biais de ce type d'index, le temps de recherche d'un article est grandement réduit. On distingue plusieurs types de clés secondaires : clé à zone unique (pour élément de donnée unique), clé à zone multiple (pour séquence de données), clé de type d'article unique (le type d'article étant déterminé par un article donné), clé de type d'article multiple (pour plusieurs types d'article). 47 F2 10UD Rev00 1-7

IDS/II Etendu - Concepts 1.6 CONTRAINTES DE L'APPARTENANCE À UN ENSEMBLE Deux principales catégories de contraintes peuvent être définies : les options d'insertion et celles de maintien, créées au moment de la conception de la base de données. La sélection de ces options dépend de l'objectif recherché, c'est-à-dire de la réaction attendue, sur un ensemble donné, de l'insertion d'articles détail, ou la suppression de l'article maître ou d'articles détail. Ces contraintes sont spécifiées lors de la déclaration de la structure de la base de données dans le langage DDL. Les différences entre les deux langages DDL (l'un dédié au schéma, l'autre au sous-schéma) sont décrites plus loin dans ce manuel. 1.7 OPTIONS D'INSERTION Une option d'insertion permet de définir la réaction d'un ensemble à l'ajout dans la base de données d'un nouvel article, d'un type défini. Il existe deux procédés d'insertion : automatique (AUTOMATIC) ou manuelle (MANUAL). Avec l'option AUTOMATIC, un article inséré est automatiquement associé à l'occurrence d'ensemble approprié, déterminé par la définition de type d'ensemble dans DDL. Avec l'option MANUAL, l'article inséré est associé à n'importe quelle occurrence d'ensemble. Reprenez l'exemple illustré figure 1-3 (type d'ensemble STUDIES_DEPARTMENT) : tant qu'un étudiant n'a pas déclaré où il a l'intention de faire ses études, l'article STUDENT correspondant n'est associé à aucun département par le biais de l'ensemble STUDIES_DEPARTMENT. Dans ce cas de figure, MANUAL est l'option d'insertion préconisée : de cette façon, quand l'étudiant est inséré dans la base de données, il n'est pas associé automatiquement à un département (article DEPARTMENT) de l'université via l'ensemble STUDIES_DEPARTMENT, mais pourra l'être manuellement dès son affectation décidée. L'option AUTOMATIC est adaptée à l'insertion automatique d'un article détail dans une occurrence d'ensemble spécifique. Dans ce cas, les critères de définition de cet ensemble doivent être spécifiés. Reportez-vous à la figure ci-après, où chaque employé est associé à l'ensemble de statistiques qui le concerne. Dans un tel exemple, le type d'ensemble EMP_STATISTICS doit être déclaré avec l'option AUTOMATIC : ainsi chaque employé est automatiquement subordonné au fait que tout nouvel article STATISTICS doté d'une valeur EMPNUMBER particulière soit inséré dans l'occurrence de l'ensemble dont l'article EMPLOYEE doté de la même valeur NUMBER est maître. Le SGBD trouvera l'article EMPLOYEE correspondant à EMPLOYEE.NUMBER = STATISTICS.EMPNUMBER, puis associera automatiquement le nouvel article STATISTICS à cette occurrence d'ensemble. 1-8 47 F2 10UD Rev00

Introduction (a) EMPLOYEE NAME NUMBER SALARY DEPT JOB EMP_DEPENDENTS STATISTICS EMPSSN NAME BIRTHDATE SEX (b) DEPARTMENT NAME LOCATION MANAGER EMP_DEPT EMPLOYEE EMPNUMBER NAME SALARY JOB BDATE Figure 1-6. Options (a) AUTOMATIC FIXED - (b) AUTOMATIC MANDATORY 47 F2 10UD Rev00 1-9

IDS/II Etendu - Concepts 1.8 OPTIONS DE MAINTIEN Les options de maintien permettent de définir si un article de type détail est autorisé à être autonome dans la base de données, ou s'il doit toujours être associé à un article maître. Dans le second cas, l'article concerné doit obligatoirement être un article détail d'une occurrence d'ensemble. Il existe trois options de maintien : a) OPTIONAL autorise l'autonomie d'un article détail, c'est-à-dire que son appartenance à une occurrence d'ensemble est facultative. Un tel article peut être associé ou dissocié d'occurrences d'ensemble via les commandes CONNECT et DISCONNECT. b) MANDATORY n'autorise pas l'autonomie d'un article détail, qui doit obligatoirement être membre d'une occurrence d'ensemble. Son appartenance à l'occurrence déclarée n'est pas figée : l'instruction MODIFY permet de le passer membre d'une autre occurrence. c) FIXED, comme MANDATORY, n'autorise pas l'autonomie d'un article détail et fige en outre son appartenance déclarée à une occurrence d'ensemble. 1.9 OPTIONS DE CLASSEMENT Il existe plusieurs méthodes de classement des articles détail dans une occurrence d'ensemble : par le biais d'une zone de classement, ou selon l'ordre d'insertion. Ces méthodes sont décrites ci-après. a) Sorted by ordering field (tri par zone de classement) : la valeur d'une ou plusieurs zones du type d'article détail définit l'ordre, croissant ou décroissant, des articles détail de chaque occurrence de l'ensemble. Le classement est mis à jour par GCOS 7 chaque fois qu'un nouvel article détail est connecté. b) FIRST ou LAST (premier ou dernier) : les nouveaux membres sont insérés en premier ou en dernier dans l'occurrence de l'ensemble, c'est-à-dire classés dans l'ordre chronologique ou antichronologique. c) NEXT ou PRIOR (suivant ou précédent) : les nouveaux membres sont insérés avant ou après l'article courant dans l'occurrence de l'ensemble. d) System default (défini implicitement par le système) : la position des nouveaux membres est définie par GCOS 7. 1-10 47 F2 10UD Rev00

Introduction 1.10 REPRÉSENTATION DES OCCURRENCES D'ENSEMBLE Une occurrence d'ensemble est souvent représentée sous forme d'anneau ou de cercle (voir figure 1-5), reliant l'article maître aux articles détail. Pour distinguer ces deux types d'article, le SGBD définit une zone dotée d'une valeur distincte par type d'article, appelée zone de type : GCOS 7, en analysant cette zone, peut ainsi faire la distinction entre le maître d'une occurrence d'ensemble et les détails. Cette zone est transparente pour l'utilisateur. Le SGBD attribue également au type d'article une zone de pointeur et la définit pour chaque type d'ensemble dont l'article fait partie en tant que détail ou maître. Cette zone est définie en interne et associée au nom de type d'ensemble auquel il correspond. De cette façon, le système met à jour les relations entre zones de pointeur et types d'occurrence. Le pointeur dédié d'un article détail est généralement le pointeur NEXT (suivant) et, celui d'un article maître, le pointeur FIRST (premier) : en effet, pour un article détail, le pointeur désigne l'article détail suivant dans l'occurrence et, pour l'article maître, le premier article. La méthode de représentation d'un ensemble définie pour un SGBD, y compris IDS/II, doit permettre au système de retrouver : 1. tous les articles détail d'une occurrence d'ensemble, à partir d'un article maître défini ; 2. le premier, nième ou dernier article détail d'une occurrence d'ensemble, à partir d'un article maître défini ; à défaut, le SGBD doit être capable de signaler l'absence d'un tel article à l'utilisateur par le biais d'un message ; 3. l'article détail suivant ou précédent dans une occurrence d'ensemble, à partir d'un article détail spécifié ; à défaut, le SGBD doit être capable de signaler l'absence d'un tel article à l'utilisateur par le biais d'un message ; 4. l'article maître d'une occurrence d'ensemble, à partir d'un article détail spécifié. La structure en forme d'anneau ou cercle d'occurrence d'ensemble, telle qu'illustrée figure 1-5, permet au système d'assumer ces quatre tâches avec un degré d'efficacité variable. Dans le modèle IDS/II, le schéma englobera nombre de types d'article et de types d'ensemble. Dans la figure 1-7, par exemple, le type d'article EMPLOYEE fait partie de quatre types d'ensemble en tant que maître : MANAGES, IS_A_SUPERVISOR, E_WORKSON et DEPENDENTS_OF, et, en tant que détail, de deux types d'ensemble : WORKS_FOR et SUPERVISEES. Avec la représentation circulaire, six zones de pointeurs supplémentaires sont ajoutées au type d'article EMPLOYEE. Cette méthode ne présente aucune ambiguïté : chaque pointeur est en effet désigné FIRST ou NEXT, en fonction de son rôle propre, pour un type d'ensemble donné. 47 F2 10UD Rev00 1-11

IDS/II Etendu - Concepts EMPLOYEE FNAME MINIT LNAME NUMBER BIRTHDATE ADDRESS SEX SALARY DEPTNAME IS_A_SUPERVISOR SUPERVISEES SYSTEM SUPERVISOR SUPERVISOR NUMBER ALL_DEPTS MANAGES WORKS_FOR E_WORKSON DEPARTMENT NAME NUMBER LOCATIONS MGRSTART DEPENDENTS_OF WORKS_ON ENUMBER PNUMBER HOURS CONTROLS P_WORKSON STATISTICS EMPNUMBER NAME SEX BIRTHDATE RELATIONSHIP PROJECT NAME NUMBER LOCATION Figure 1-7. Schéma d'une base de données IDS/II 1-12 47 F2 10UD Rev00

Introduction 1.11 DÉFINITION ET MANIPULATION D'IDS/II Les opérations de manipulation comprennent la recherche, l'insersion, la suppression, la modification d'articles dans la base IDS/II, ainsi que la connexion et la déconnexion d'articles dans les occurrences d'ensemble. Ces manipulations font appel au langage DML (Data Manipulation Language), qui consiste en commandes opérant article par article, incorporées aux programmes COBOL. 1.12 CONCEPTS DE BASE DE MANIPULATION DES DONNÉES Pour programmer dans un environnement IDS/II, quelques notions sur les programmes de manipulation des données sont indispensables. Le SGBD et les programmes COBOL associés sont deux systèmes distincts reliés par une interface commune et communiquant uniquement par le biais de cette interface. Les commandes DML opérant article par article, les articles spécifiques doivent être identifiés comme des articles courants. Le SGBD est chargé de conserver la trace d'un certain nombre d'articles courants et d'occurrences d'ensemble, en définissant des indicateurs de point courant. De plus, dans les programmes COBOL, des variables de programme local doivent conserver des articles de différents types dont le contenu sera manipulé par le programme COBOL hôte. L'ensemble de ces variables locales, au sein du programme, s'appelle la zone de travail utilisateur ou zone UWA (User Working Area). 1.13 ZONE DE TRAVAIL UTILISATEUR (UWA) La zone UWA est un ensemble de variables de programme déclarées dans le programme hôte, dont la fonction est de transmettre le contenu d'articles individuels entre le SGBD et le programme COBOL hôte. A chaque article du schéma de la base de données doit correspondre une variable de programme, déclarée avec le même format dans le programme COBOL. 47 F2 10UD Rev00 1-13

IDS/II Etendu - Concepts 1.14 INDICATEURS DE POINT COURANT Avec IDS/II, pour opérer les recherches et les mises à jour, le système navigue à travers les articles de la base de données. Le rôle, essentiel, du mécanisme de l'indicateur de point courant est de garder trace des derniers accès à des articles et des occurrences d'ensemble. L'indicateur de point courant conserve une position en mémoire : ainsi le SGBD peut traiter de nouveaux articles en commençant par ceux qui ont fait l'objet des accès les plus récents, jusqu'à retrouver tous les articles contenant les informations voulues. Les indicateurs de point courant sont essentiellement des pointeurs ou des adresses d'articles désignant un seul article de la base de données. La base de données IDS/II fait appel aux indicateurs de point courant suivants : 1. point courant de type d'article : pour chaque type d'article, le SGBD garde trace du dernier article qui a fait l'objet d'un accès ; s'il n'y a pas eu d'accès, il n'existe pas d'article courant. 2. point courant de type d'ensemble : pour un type d'ensemble donné, le SGBD garde trace de la dernière occurrence d'ensemble qui a fait l'objet d'un accès ; l'occurrence d'ensemble est spécifiée par un seul article de l'ensemble donné, soit le maître, soit un article détail. Ce type de point courant, bien que destiné à garder trace d'une occurrence d'ensemble, désigne en fait un article. 3. point courant d'unité d'exécution : une unité d'exécution est un programme d'accès à une base de données en cours d'exécution sur le DPS7. Pour chaque unité d'exécution, le système garde trace du dernier article, quel que soit son type, qui a fait l'objet d'un accès par le programme. 4. point courant de domaine : le SGBD garde trace du dernier article qui a fait l'objet d'un accès dans un domaine. Une recherche séquentielle dans une aire donnée fait appel à ce type de point courant, qui peut aussi servir à relancer le traitement dans d'autres aires. 5. point courant de type de clé : le SGBD garde trace de la dernière occurrence de clé d'un type donné. Une recherche séquentielle d'occurrence d'un type de clé donné fait appel à ce type de point courant. Il peut aussi servir à relancer le traitement d'un article associé à une clé donnée après exécution sur la base de données d'opérations sans incidence sur le point courant de type de clé. Chaque fois qu'un programme exécute une commande DML, le SGBD met à jour les indicateurs de point courant des types d'article et des types d'ensemble affectés par cette commande. 1-14 47 F2 10UD Rev00

Introduction 1.15 INDICATEURS D'ÉTAT Pour écrire des programmes DML, dont l'objet soit de manipuler une base de données IDS/II, il est essentiel de maîtriser le concept des indicateurs d'état. Il existe plusieurs indicateurs d'état. A l'issue de chaque commande DML, ces indicateurs renvoient un code, indiquant l'aboutissement ou l'échec de la commande. Le programme peut analyser les valeurs de ces indicateurs, puis intervenir en conséquence, soit en poursuivant le traitement, soit en transférant le contrôle à une routine qui prendra l'erreur en charge. La principale variable d'état est DB_STATUS, déclarée par défaut dans le programme COBOL. A l'issue de chaque commande DMCL, la valeur de DB_STATUS indique si la commande a abouti ou non. L'erreur la plus courante est END_OF_SET (EOS), qui n'identifie pas d'erreur d'exécution mais signale simplement qu'il n'existe plus d'article détail dans une occurrence d'ensemble. Le code EOS représente généralement la fin d'une boucle d'un programme traitant chaque membre d'une occurrence d'ensemble. Quand une commande DML recherche sans succès le membre NEXT ou PRIOR d'un ensemble, elle retourne le code EOS pour indiquer cette absence. 1.16 DDL DU SCHEMA La structure logique de la base de données est décrite dans le schéma, lui-même écrit en DDL. Dans IDS/II, c'est dans le schéma que sont déclarés tous les types d'article, les types d'ensemble, les définitions des éléments des données, et les contraintes du schéma. Le schéma exhaustif d'une base de données de deux articles est illustré au paragraphe 1.16.1. Les noms définis par l'utilisateur figurent en caractères gras. La clause RECORD NAME IS sert à attribuer un nom à chaque type d'article. Dans le schéma, un format (type de donnée) pour chaque élément de donnée (zone), et les contraintes éventuellement associées à ces zones doivent également être spécifiées. La clause DUPLICATES ARE NOT ALLOWED sert à stipuler que, pour des zones, ou des combinaisons de zones, plusieurs articles de même type ne peuvent pas avoir la même valeur. La clause SET NAME IS sert à désigner le nom de chaque type d'ensemble. Les clauses INSERTION IS et RETENTION IS permettent respectivement de spécifier les options d'insertion et de maintien pour chaque type d'ensemble. La clause SET SELECTION, en cas d'insertion automatique, sert à spécifier comment GCOS 7 sélectionnera automatiquement une occurrence d'ensemble pour associer un nouvel article détail à cette occurrence quand l'article est inséré pour la première fois dans la base de données. 47 F2 10UD Rev00 1-15

IDS/II Etendu - Concepts La clause ORDER IS, souvent associée à la clause KEY IS, est une alternative pour définir la sélection des ensembles, par spécification de l'ordre des articles détail dans les occurrences d'ensemble, possible grâce au traitement par article du langage DML. Elle est assortie des options suivantes : 1. SORTED BY DEFINED KEYS (tri selon les clés définies) : cette option doit obligatoirement être associée à la clause KEY IS pour spécifier une ou plusieurs zones du type d'article détail. GCOS 7 a besoin des valeurs de ces zones pour classer les articles détail dans chaque occurrence d'ensemble. KEY IS sert aussi à spécifier l'ordre croissant (ASCENDING) ou décroissant (DESCENDING). 2. FIRST (ou LAST) : les nouveaux articles détail sont insérés comme premier (ou dernier) article de l'occurrence d'ensemble. 3. BY SYSTEM DEFAULT : c'est le système qui définit l'ordre des articles détail dans une occurrence d'ensemble. 4. NEXT (ou PRIOR) : le nouvel article détail est inséré après (ou avant) l'article courant de l'ensemble. Le programme définit un point courant d'ensemble pour désigner l'article après (ou avant) lequel insérer le nouvel article. La clause DUPLICATES ARE NOT ALLOWED est opérationnelle avec la clause KEY IS. Elle indique que deux articles détail d'une même occurrence d'ensemble ne peuvent posséder les mêmes valeurs dans leurs zones-clés respectives. Quant à la clause CHECK, assortie de l'instruction STORE ou MODIFY, elle sert uniquement à vérifier la validité d'un ou plusieurs éléments de données. 1-16 47 F2 10UD Rev00

Introduction 1.16.1 Schéma intégral d'une base de données de deux articles SCHEMA NAME IS NOM-SCHEMA. AREA NAME IS NOM-AIRE-A. AREA NAME IS NOM-AIRE-B. RECORD NAME IS NOM-ARTICLE-A LOCATION MODE DIRECT BASE-DONNEE-PARAMETRE-A WITHIN NOM-AIRE-A. 02 BASE-DONNEE-NOM-DONNEE-A TYPE CHARACTER 1. RECORD NAME IS NOM-ARTICLE-B LOCATION MODE VIA NOM-ENSEMBLE-A WITHIN NOM-AIRE-A NOM-AIRE-B AREA-ID IS BASE-DONNEE-PARAMETRE-B. 02 DATA-BASE-DATA-NAME-B TYPE IS SIGNED BINARY 15. SET NAME IS NOM-ENSEMBLE-A OWNER IS NOM-ARTICLE-A ORDER PERMANENT INSERTION LAST. MEMBER IS NOM-ARTICLE-B INSERTION AUTOMATIC RETENTION MANDATORY SET SELECTION IS THRU NOM-ENSEMBLE-A OWNER IDENTIFIED BY DATA-BASE-KEY EQUAL TO BASE-DONNEE-PARAMETRE-C. END-SCHEMA. 47 F2 10UD Rev00 1-17

IDS/II Etendu - Concepts 1.17 DML Le langage DML (Data Manipulation Language) sert aux manipulations de la base de données IDS/II. Les commandes DML doivent être incorporées dans les programmes COBOL utilisateur. Il existe trois catégories de commandes DML : pour la navigation, la recherche et la mise à jour. Les commandes de navigation placent les indicateurs de point courant sur des articles particuliers et des occurrences d'ensemble dans la base de données. Les commandes de recherche servent à retrouver l'article courant dans l'unité d'exécution. Il existe deux catégories de commandes de mise à jour : celles dédiées aux articles qui enregistrent les nouveaux articles, suppriment des articles et modifient les valeurs de zone, et celles dédiées aux occurrences d'ensemble qui permettent la connexion et la déconnexion des articles détail dans une occurrence d'ensemble ; les commandes de mise à jour servent également au transfert d'articles détail entre occurrences d'ensemble. Pour la description de ces commandes, reportez-vous au paragraphe 1.17.1. 1-18 47 F2 10UD Rev00

Introduction 1.17.1 Verbes DML ACCEPT CONNECT Récupère les clés de base de données ou les noms de domaine conservés dans les indicateurs de point courant du SGBD, ou récupère des informations DMCL du schéma objet. Insère une nouvelle occurrence d'article dans un ensemble dans lequel l'article est défini, avec une des options suivantes : MANUAL MANDATORY, FIXED, MANUAL OPTIONAL, AUTOMATIC OPTIONAL. DISCONNECT ERASE FIND FINISH GET Condition DB MODIFY READY STORE Supprime d'un ensemble un article assorti d'optional qui y réside. Supprime un article de la base de données. Repère dans la base de données tout article répondant à des critères expression-sélection-article. Désactive l'accès à un domaine. Récupère le contenu d'un article courant. Teste les conditions de la base de données. Modifie le contenu des éléments de données de la base et/ou les relations d'un article avec l'ensemble. Met le contenu d'un domaine à disposition pour traitement. Ajoute une nouvelle occurrence d'article à la base de données. USE Définit une procédure DB-EXCEPTION, dont l'appel automatique peut avoir lieu sur demande. 47 F2 10UD Rev00 1-19

IDS/II Etendu - Concepts 1.17.2 Commandes DML de localisation des articles d'un type donné Il existe deux types de commandes FIND, dédiées à la localisation d'un article d'un type donné, ou au passage de l'article localisé en point courant d'unité d'exécution et de type d'article. FIND sert également à l'accès direct à un article de la base de données par le biais de la clé de cette base. Ce moyen d'accès ne requiert que le transfert d'une seule page. La commande FIND [nom-article] DB-KEY is identifier est applicable à tout article, quel que soit le mode de localisation. La partie clé d'aire de la clé de base de données indique le numéro de la page où figure l'article ainsi que son nombre de lignes. Si les doublons sont admis (clause DUPLICATES ARE ALLOWED), FIND trouve le premier article possédant la valeur clé CALC requise. La commande FIND ANY localise dans la base de données le premier article du type spécifié, dont les valeurs de zone d'article coïncident avec celles des zones UWA correspondantes. Le SGBD se sert des critères de recherche pour localiser le premier article de la base de données répondant à cette condition. La commande FIND DUPLICATE recherche, à partir du point courant d'unité d'exécution, l'article suivant ou en double qui satisfait les critères de recherche. Dans ce cas de recherche, FIND ANY n'est pas adapté (recherche du premier article répondant aux critères). Ces deux commandes sont donc dédiées à la recherche d'articles d'un type particulier, par accès direct via la clé CALC. Ci-après sont décrites des commandes FIND basées sur l'appartenance à un ensemble en tant que maître ou détail. 1.17.3 Commandes DML appliquées aux ensembles Pour traiter les ensembles, vous disposez de deux variantes de la commande FIND : FIND FIRST/NEXT/PRIOR/LAST nom-type-article WITHIN nom-type-ensemble USING noms-zone FIND OWNER WITHIN nom-type-ensemble Une fois définie l'occurrence courante d'ensemble d'un type donné, FIND permet de localiser les articles qui en font partie. Vous pouvez rechercher l'article maître ou un article détail puis passer cet article comme point courant d'unité d'exécution. Dans l'occurrence d'ensemble, la commande FIND OWNER recherche l'article maître et la commande FIND NEXT/FIRST/LAST/PRIOR l'article détail suivant, premier, dernier ou précédent. 1-20 47 F2 10UD Rev00

Introduction L'indicateur de point courant d'ensemble pointe sur le propriétaire ou sur un article détail de l'occurrence d'ensemble. Quel que soit l'article désigné par cet indicateur, les commandes FIND OWNER, FIND FIRST et FIND LAST ont toujours le même impact. Par contre, les commandes FIND NEXT et FIND PRIOR fonctionnent avec le point courant d'ensemble. Avec FIND NEXT, c'est le premier article détail qui est repéré si le point courant d'ensemble est le maître ; si ce point est un article détail (excepté le dernier), l'article repéré est l'article détail suivant. Si le point courant d'ensemble est le dernier article détail, la commande passe l'indicateur DB_STATUS à la valeur EOS (End- Of-Set). 1.17.4 Commandes DML de mise à jour de la base de données Les commandes de mise à jour de la base de données sont : STORE, ERASE, MODIFY, CONNECT et DISCONNECT. Elles permettent respectivement d'insérer de nouveaux articles, d'en supprimer, de modifier certaines zones, d'insérer et de supprimer des articles détail, dans une occurrence d'ensemble. La commande STORE insère un nouvel article dans la base de données. Au préalable, vous devez définir dans la variable UWA un même type d'article, de sorte que les valeurs de zone correspondent à celles du nouvel article. Le résultat de cette commande est l'enregistrement dans la base de données du contenu courant de l'article UWA du type spécifié. Cette opération est automatiquement effectuée dans une occurrence d'ensemble, quand le type spécifié est un membre, assorti d'automatic, d'un type d'ensemble donné. C'est la clause SET SELECTION qui détermine l'occurrence. Le nouvel article devient le point courant d'unité d'exécution, et l'article courant de son type d'article. Il devient également le point courant de tout ensemble possédant ce type d'article en tant que maître ou détail, et le point courant du domaine dans lequel il est enregistré. Les commandes ERASE et ERASE ALL suppriment des articles de la base de données. Avant de lancer ERASE, l'article à supprimer doit passer point courant d'unité d'exécution. Vous devez mesurer l'impact de cette commande avant de l'utiliser, c'est-à-dire les répercussions, le cas échéant, de la suppression d'un article sur les articles détail associés. Vous disposez pour cela de l'option de maintien avec : OPTIONAL : les articles détail sont conservés dans la base de données et dissociés de l'article maître avant suppression ; FIXED : les articles détails sont supprimés en même temps que le maître ; MANDATORY : si certains articles détail sont propriété de l'article en cours de suppression, ERASE est rejetée et un message d'erreur est émis. L'article maître ne peut pas être supprimé : il laisserait en effet des articles détail sans maître. Les conditions indiquées s'appliquent de façon récursive aux autres articles appartenant à des articles dont la suppression est déclenchée par une commande ERASE. L'effet de cette commande peut se propager dans la base de données. Aussi devez-vous l'utiliser avec précaution. La commande ERASE ALL permet de supprimer un article et les articles qu'il possède. Elle supprime l'ensemble des articles détail appartenant à un article maître. 47 F2 10UD Rev00 1-21

IDS/II Etendu - Concepts La commande MODIFY change certaines valeurs de zone dans un article. Avant de lancer cette commande, vous devez : 1. vérifier que l'article à modifier est le point courant de l'unité d'exécution, 2. extraire l'article dans la variable UWA appropriée 3. et y modifier les zones voulues. Les commandes CONNECT et DISCONNECT servent à l'insertion et au retrait des articles détail dans des occurrences d'ensemble. CONNECT insère un article détail dans une occurrence d'ensemble, cet article devant être le point courant d'unité d'exécution. L'article est ensuite associé à l'occurrence d'ensemble qui est le point courant d'ensemble d'un type donné. CONNECT ne peut s'employer qu'avec des ensembles assortis de MANUAL ou d'automatic OPTIONAL. Dans le cas d'ensembles assortis d'autres options AUTOMATIC, l'article détail est automatiquement associé à l'occurrence d'ensemble qui correspond à l'option SET SELECTION prédéfinie, ceci dès l'insertion de l'article dans la base de données. La commande DISCONNECT supprime un article détail d'une occurrence d'ensemble sans l'associer à une autre occurrence d'ensemble. Aussi ne peut-elle s'employer qu'avec des ensembles assortis d'optional. Pour lancer DISCONNECT, l'article doit être le point courant d'unité d'exécution. 1.17.5 Commandes DML appliquées aux clés secondaires Il existe nombre de commandes DML qui s'appliquent aux clés secondaires d'un article : FIND FIRST/LAST nom-article WITHIN nom-clé pour rechercher un article à partir de la valeur de sa clé, sans tenir compte de sa position dans l'aire. Ces commandes repèrent la clé de valeur inférieure ou supérieure, relative à l'ensemble des articles dans la clé du type d'article spécifié. FIND NEXT/PRIOR nom-article WITHIN nom-clé pour rechercher l'article suivant ou précédent de tout type dans l'ordre de la clé. FIND nom-article FROM nom-clé pour rechercher un article du type spécifié d'après son nom dans l'ordre de la clé du type impliqué (clé d'article unique ou multiple). Cette commande effectue une recherche séquentielle de l'article, sur la base de la zone de clé. FIND ANY nom-article et FIND DUPLICATE nom-article appliquées aux zones avec clé CALC. La commande FIND ANY recherche l'article doté de la valeur de clé CALC requise ou, s'ils sont plusieurs, le premier de ces articles. La commande FIND DUPLICATE s'applique à un article dont le mode de localisation est CALC assorti de DUPLICATES ARE NOT ALLOWED, cette instruction considérant que le point courant d'unité d'exécution est déjà l'un des DUPLICATES. Pendant l'exécution de cette commande, le SGBD recherche la chaîne CALC, en commençant par l'article courant de l'unité d'exécution, jusqu'à trouver l'article suivant du même type, dont la valeur de clé CALC correspond à celle du point courant d'unité d'exécution. 1-22 47 F2 10UD Rev00

Introduction 1.18 DMCL Le langage DMCL (Device Media Control Language) définit, pour une description de schéma donné, les paramètres de la mémoire physique qui gouvernent le mappage en mémoire d'instances de données. DMCL spécifie la taille des tampons (en nombre de pages) et la taille de page (en nombre d'octets). Il se charge de l'association entre noms de fichier et noms de pools de tampons. Pour plus de détails sur ce langage, reportezvous à IDS/II Etendu - Manuel de référence - Volume I. 1.19 UTILITAIRES IDS/II Un certain nombre d'utilitaires sont à disposition de l'administrateur de la base de données, pour gérer les fichiers physiques dans lesquels la base est enregistrée. 1. DBREORG (Database Reorganization Utility) permet de réorganiser la structure de la base de données quand la description de schéma courante n'est plus adaptée à la quantité des données de cette base. Cet utilitaire modifie la description de schéma, par exemple, pour ajouter de nouveaux ensembles, ou ajouter des zones aux articles. Il ne permet pas la migration des articles. 2. MIGRATION sert aussi lorsque la structure courante de la base de données devient insuffisante pour la quantité de données. Cet utilitaire gère la migration des articles ainsi que le classement des pointeurs d'article et d'ensemble. 3. PRINT imprime des parties de domaine, des occurrences d'article, ou des pages entières. 4. ANALYZE permet d'analyser un fichier de domaine, intégralement ou partiellement, pour générer des comptes rendus sur les occurrences d'article et sur l'utilisation de l'espace. Cet utilitaire produit aussi des graphiques illustrant l'occupation de l'espace et les performances d'accès. Il peut également analyser les fichiers d'index afin de déterminer l'espace utilisé et le nombre d'occurrences de clé. 5. VALIDATE valide la structure logique des fichiers de domaine. De plus, cet utilitaire permet de récupérer des pages qui avaient été détruites. 6. BUILD crée, recrée ou supprime un fichier d'index contenant des rrubriques de clé. 7. GENERATE génère une nouvelle base de données à partir d'une base existante, conforme aux modifications de structure physique ou logique stipulées (réorganisation de la base, par exemple). Pour un complément d'informations sur IDS/II, reportez-vous à la bibliographie, dans la préface de ce manuel. 47 F2 10UD Rev00 1-23

IDS/II Etendu - Concepts 1-24 47 F2 10UD Rev00

2. Le sous-schéma 2.1 FONCTIONS Les nouveautés majeures du produit IDS/II Etendu sont la fonction de sous-schéma et le langage SDDL (Subschema Data Description Language). Le sous-schéma est un sous-ensemble du schéma original, obtenu par omission des éléments de données, des types d'article et d'ensemble inexploités par les applications concernées. Quand un type d'article du schéma n'est pas retenu, tous les types d'ensemble associés en tant que maître ou article détail doivent être éliminés. Le sous-schéma fournit donc une vue partielle de la base de données. En limitant et contrôlant les fonctions à disposition des utilisateurs, il constitue un mécanisme de préservation de l'intégrité de la base, et un moyen d'exploiter les seules ressources nécessaires à une application donnée (plutôt que de faire appel à la base entière). Un sous-schéma accroît l'autonomie des données. Un programme peut être indépendant d'un grand nombre de modifications des formats IDS/II, grâce à deux facteurs : l'aptitude des données à la transformation et l'autonomie offerte par la vue du sous-schéma - qui n'est pas affectée par les modifications structurelles d'entités DDL. Ces modifications structurelles sont prises en compte lors de l'application du process de validation au sousschéma, pour déterminer les nouvelles règles de mappage. 2.2 CLAUSE ALIAS Dans la définition du sous-schéma, la nouvelle clause ALIAS permet de renommer un objet DDL : domaines, ensembles, articles et éléments de données peuvent être incorporés dans le sous-schéma, et donc être renommés. Le programme a ainsi la possibilité d'adopter les règles d'unicité de dénomination, règles absentes de la description du schéma. Définir un ou plusieurs alias pour une relation permet de définir plusieurs références pour cette relation. 47 F2 10UD Rev00 2-1

IDS/II Etendu - Concepts 2.3 PROCESS DE VALIDATION Le process de validation détermine les opérations autorisées sur la base de données : articles sur lesquels la recherche, l'enregistrement, la suppression, la modification sont applicables, par exemple (en terme de présence ou non d'informations de contrôle). Il définit les transformations nécessaires au mappage d'une description de champ du schéma avec une description différente du sous-schéma - opération indispensable dans la mesure où les formats du schéma et du sous-schéma peuvent être différents. Quand un sous-schéma est validé, IDS/II génère une série de comptes rendus, décrivant toutes les fonctions COBOL DML autorisées et interdites pour le sous-schéma concerné. Le process n'autorise aucune référence à des noms du schéma omis dans le sousschéma, ceux-ci n'étant pas définis pour le programme. Si des informations de contrôle ne font pas partie du sous-schéma, certaines fonctions DML peuvent être limitées. Par exemple, si un ensemble est trié sur les zones de contrôle des articles détail, la description de l'article, dans la description du sous-schéma, doit comporter cette zone. A défaut, le programme ne peut pas enregistrer l'article (STORE). Tenter de compiler un programme par une instruction DML interdite par IDS/II pendant le process de validation provoque généralement un diagnostic rappelant cette interdiction. Aussi, l'administrateur de base de données doit-il diffuser la liste des fonctions DML autorisées pour un sous-schéma donné. Au moment de l'exécution, IDS/II lance une vérification pour s'assurer que toutes les actions DML demandées (CONNECT, par exemple) sont valides pour le sous-schéma concerné. L'appel à une fonction DML non valide génère une erreur. 2-2 47 F2 10UD Rev00

Le sous-schéma 2.4 RESTRICTIONS D'ACCÈS L'administrateur peut restreindre l'accès à des programmes de la base de données, pour empêcher l'application d'émettre des demandes DML relatives à des articles et/ou domaines donnés. Ainsi, un programme peut être autorisé à rechercher un article, mais non à le modifier ou le supprimer. Les restrictions peuvent s'appliquer à des domaines, des articles, des ensembles, des membres d'ensembles : 1. Restrictions sur les domaines : empêchent un programme de préparer un domaine pour sa mise à disposition dans un mode d'exploitation spécifié. Si les restrictions portent sur la mise à jour d'un domaine, les programmes exploitant le sous-schéma concerné ne pourront pas passer le domaine en mode mise à jour et, par conséquent, mettre à jour les articles de ce domaine. 2. Restrictions sur les articles : empêchent un programme d'exécuter une ou plusieurs des fonctions DML ERASE, FIND, GET, MODIFY et/ou STORE sur des types d'article ou des champs spécifiés. 3. Restrictions sur les ensembles : empêchent l'émission par un programme d'un ou plusieurs verbes DML CONNECT, DISCONNECT, FIND et/ou MODIFY, applicables à des occurrences d'article dans les types d'ensemble spécifiés. 4. Restrictions sur les membres d'ensembles : empêchent un programme d'exécuter une ou plusieurs des fonctions DML CONNECT, DISCONNECT, FIND et/ou MODIFY, sur les membres spécifiés d'un ensemble. Les restrictions d'accès sont toujours appliquées à un article, un domaine ou un ensemble, ces éléments étant des objets d'un verbe DML spécifique, et non directement sur les éléments de la base de données. Par exemple, une restriction d'accès portant sur la fonction FIND pour un article donné n'interdit pas l'accès à cet article par le biais du mécanisme de sélection de l'ensemble. 47 F2 10UD Rev00 2-3

IDS/II Etendu - Concepts 2-4 47 F2 10UD Rev00