SQL. Cours de base. Bibliothèque électronique de l'administrateur système

Langue SQL. Cours de base.

Dans ce didacticiel, écrit par Evgeny Morgunov, les bases de la langue SQL sont le cours de base. De plus, la langue est envisagée par rapport à un système de gestion de base de données spécifique (SGBD) - PostgreSQL. La mise en œuvre de la langue SQL dans chaque SGBD est conforme à la norme à un degré ou à une autre, mais outre les fonctions et les opportunités normalisées, chaque SGBD offre son expansion de langue supplémentaire. PostgreSQL fournit un très bon support standard SQL et fournit également des fonctionnalités supplémentaires intéressantes et pratiquement utiles. L'un des principaux avantages de PostgreSQL est une extensibilité. Cela signifie, par exemple, que l'utilisateur (bien sûr, qui est un spécialiste des bases de données) peut développer ses propres types de données. Ces types de données auront toutes les propriétés des types de données intégrées et peuvent être entrés en fonctionnement sans arrêt de serveur. De plus, PostgreSQL est un produit open source gratuit, disponible sur un grand nombre de plates-formes.

Le manuel aborde non seulement toutes les principales langues SQL, mais également d'autres questions, telles que des indices et des transactions. Le manuel est écrit de manière à ce qu'il puisse être utilisé à la fois sous la direction de l'enseignant et indépendamment. Il est supposé que les étudiants ont accès à la SGBD déjà installée, la procédure d'installation de PostgreSQL n'est donc pas prise en compte en détail, mais ne se réfère que pour trouver les instructions d'installation. Cette indemnité est destinée à obtenir des compétences pratiques pour utiliser la langue SQL. Le matériel de formation est appliqué de manière à ce que de nombreux lecteurs de connaissances importants doivent obtenir à la suite des tâches à la fin de chaque chapitre.

Dans le texte principal des chapitres, ces connaissances peuvent ne pas être représentées. Il est supposé qu'une partie importante des tâches sera effectuée par le lecteur de manière indépendante à l'aide de la documentation du SGBD PostgreSQL, mais elle est souvent donnée aux instructions de leur mise en œuvre.

Le manuel est destiné aux étudiants étudiant dans les zones 09.03.01 - "Informatique et technique informatique", 03/09/02 - "Systèmes d'information et technologies", 03/03/03 - "Informatique appliquée", 09.03.04 - "Logiciel Ingénierie "et 02.03. 03 -" Support mathématique et administration des systèmes d'information ". Il peut être utile à un large éventail d'étudiants et de spécialistes qui souhaitent se familiariser avec les bases de la langue SQL dans le système de gestion de la base de données PostgreSQL.

Éditeur - Postgres Professional

Année d'édition - 2017

Format de livre - PDF

SQL (généralement prononcé comme "sicwell") symbolise une "langue de requête structurée". Il s'agit d'une langue qui vous donne la possibilité de créer et d'opérer dans des bases de données relationnelles qui sont des informations connexes stockées dans les tables. Si vous vous demandez où commencer à apprendre SQL, vous. Notre société vous propose des cours SQL, ainsi que des leçons SQL pour débutants, après avoir étudié la création d'une base de données SQL que vous pouvez vous produire. L'étude de SQL est une leçon très prometteuse. Il comprend des conférences SQL, des cours de base de données SQL, ainsi que des cours de demande SQL. Il y a une occasion de transmettre les cours de langue SQL et de procéder à SQL Apprendre à partir de zéro, ainsi que de passer des cours de programmation SQL à l'aide de SQL Online L'apprentissage, après avoir reçu une pratique exclusive.

Le monde des bases de données est de plus en plus uni, ce qui a permis de créer une langue standard pouvant être utilisée pour fonctionner dans un grand nombre de types de supports informatiques différents. La langue standard permettra aux utilisateurs d'avoir passé des cours SQL Server ou SQL Server connaissant un ensemble de commandes, les utiliser pour créer, trouver, modifier et transférer des informations, quel que soit leur lieu de travail.

Dans notre monde d'ordinateur de plus en plus interconnecté, l'utilisateur fourni dans cette langue présente un énorme avantage d'utiliser et de résumer des informations provenant d'un certain nombre de sources avec un grand nombre de manières. Par conséquent, SQL Server Formation et SQL Demandes L'apprentissage sont très importants.

Élégance et indépendance des spécificités de la technologie informatique, ainsi que de ses dirigeants de l'industrie de soutien dans le domaine de la technologie de la base de données relationnelle, de SQL, et probablement au cours de l'avenir prévisible le laisseront, le principal langage standard. Pour cette raison, tout le monde qui veut travailler avec des bases de données devrait connaître SQL, passer par le cours de base SQL ou l'étude de SQL à partir de zéro et apprendre les bases du cours SQL.

La norme SQL est déterminée par ANSI (American National Institute of Normes) et à ce stade-ci est également acceptée par l'ISO (Organisation internationale de normalisation). Cependant, la plupart des programmes de base de données commerciaux développent SQL sans notifier à ANSI, ajoutant différentes autres fonctionnalités de cette langue, qu'ils considèrent seront très utiles. Parfois, ils violent la norme de la langue, bien que de bonnes idées aient tendance à se développer et à devenir bientôt les normes du "marché" en raison de l'utilité de leurs qualités. Et vous pouvez explorer toutes ces fonctionnalités en passant les cours de formation SQL dans notre bureau ou en passant l'exploration en ligne SQL.

Avant de pouvoir utiliser SQL, vous devez comprendre quelles sont les bases de données relationnelles et comment les développer, ainsi que sur le cours de formation SQL et explorer les leçons SQL Server afin que le développement de la base de données SQL ne semble pas difficile.

Comme nous l'avons souligné précédemment, SQL symbolise une langue de requête structurée. Étudier les demandes SQL et créer une requête dans la base de données - probablement l'aspect SQL le plus fréquemment utilisé. En fait, pour la catégorie utilisateurs SQL, il est peu probable que quiconque utilise cette langue pour autre chose. Pour cette raison, nous commencerons notre étude sur la langue SQL de discuter de la demande et de la manière dont elle est effectuée dans cette langue.

La requête est la commande que vous donnez votre programme de base de données et qui lui indique de l'amener à certaines informations des tables en mémoire. Ces informations sont généralement envoyées directement à l'écran de l'ordinateur ou au terminal que vous utilisez, bien que, dans la plupart des cas, vous pouvez également l'envoyer à l'imprimante, enregistrez-la dans le fichier (en tant qu'objet dans la mémoire de l'ordinateur) ou soumettre des informations d'introduction). pour une autre commande ou processus.

Les demandes sont généralement traitées dans le cadre de la langue DML. Toutefois, étant donné que la demande ne modifie pas les informations dans les tableaux, mais le montre simplement à l'utilisateur, nous examinerons les demandes en tant que catégorie indépendante entre les commandes DML produisant une action et non seulement le contenu de la base de données.

Toutes les demandes à SQL consistent en une seule équipe. La structure de cette commande est trompeuse simple car vous devez l'étendre afin d'effectuer des évaluations et un traitement de données très complexes. Cette commande s'appelle - Sélectionnez (Sélection).

Sergey Vorobyov
Ingénierie du plomb
SQL. Cours de base
www.aplana.ru.

Contenu
● Partie 1. Introduction à SQL
● Partie 2. Langue de défentissement des données
● Partie 3. Langue de manipulation des données
● Partie 4. DRL. Demandes simples.
● Partie 5. Échantillonnage des données à partir de plusieurs tables.
● Partie 6. Fonctions d'agrégats. Regrouper les données.
● Partie 7. Sous-questionnaires.
● Partie 8. Fonctions pour travailler avec des lignes, des dates et des chiffres.
23

SQL. Cours de base
Partie 1. Introduction à SQL
www.aplana.ru.

Introduction à SQL
SQL (eng. Langue de requête structurée - "Langue de structure
demandes ") - langage informatique universel utilisé pour
Création, modifications et gestion des données dans des bases relationnelles
Les données.
43

Introduction à SQL
Base de données - liste ou ensemble de listes associées avec
Informations
Système de gestion de base de données (SGBD) - spécial
Logiciel contrôlant ces listes
53

Base de données relationnelle et non relationnelle
Base de données relationnelle - base de données basée sur le modèle relationnel
Données:
Les données de la base de données sont un ensemble de tables;
Les données répondent à certaines conditions d'intégrité;
Prend en charge les opérateurs manipulant les tables
(par exemple, échantillonnage ou table de copie).
Bases de données non réglementées - Hiérarchique, Réseaux,
Orienté objet, nosql.
63

La base de données diffère des feuilles de calcul
1. Stocker un grand nombre de lignes
Dans les feuilles de calcul, le nombre de chaînes est limité.
Des millions de lignes sont stockées dans la base de données.
2. Entretien simultané de nombreux utilisateurs
3. Sécurité.
Les utilisateurs sont privilégiés uniquement sur
Certaines tables et actions.
4. Propriétés relationnelles.
Les données sont stockées dans différentes tables, entre les tables
Il y a des connexions.
5. Restrictions garantissant des données de données.
73

Tableau (Table)
Rangée (rangée) - gamme horizontale de cellules allouées pour chaque
Objet de table.
Enregistrement (enregistrement) - données dans la chaîne.
Colonne (colonne) - contient des informations d'un type.
Champ (champ) - colonne d'intersection et chaînes.
83

Principes de base de l'interface SQL
DBMS
93
Nom
Décodage
Interbase / Firebird.
Psql
SQL de procédure.
IBM DB2.
Sql pl
Langue de procédure SQL
MS SQL Server / Sybase ASE
T-sql.
Transact-sql.
Mysql
SQL / PSM.
SQL / persistant stocké
Module.
Oracle
Pl / sql.
Langue de procédure / SQL
(Basé dans la langue ada)
PostgreSQL
PL / PGSQL
De procédure.
Langue / PostgreSQL
(très similaire à Oracle
Pl / sql)

10.

Différences dans la syntaxe des fonctions DBMS
MSSQL
Db2.
Numérique.
Nombre
Numérique.
Dateadd.
Mois_add.
(Date + 10 jours)
Eomezth
Dernier jour.
Dernier jour.
Daturant.
Mois_between
Timestampdiff.
Plus haut
Plus haut
Ucase / Tige
Convertir.
To_charne
To_charne
Initcap
Initcap
-
103
Oracle

11.

Syntaxe SQL
Les fonctions et les noms des objets sont inactifs à enregistrer:
SELECT \u003d SELECT.
Cependant, lors de la recherche de champs de texte, le registre est pris en compte.
SQL n'est pas sensible au transfert de chaîne
Il n'y a pas de caractères obligatoires, des lignes finales
Pris en charge - --- Dessiner des commentaires et
/ * Multiligne * /
Chaque transaction est coutumière pour compléter le point-virgule, mais
Lors de la réalisation de commandes séparées, leur utilisation n'est pas
Avant que
113

12.

Types de données
Char (n) - Cordes de longueur constante (jusqu'à 256 octets dans MS SQL Server), c'est-à-dire
Entré moins de données dans la ligne - la taille ne changera pas
Varchar (n) - lignes de longueur variable, c'est-à-dire nécessite tellement de mémoire
Combien de données
Entier - numéro sans point décimal
Numérique (m, n) - utilisé pour stocker zéro et positif ou
Nombres négatifs avec un point fixe et flottant. Créer (nombre total de chiffres), échelle N (nombre de chiffres à droite
virgule). Paramètres M / N -Hellulaires
Date - Date dans le format AAAA-MM-DD (ISO), DD / MM / AAAA), DD-Mon-YY.
Boolean - type de données logique: vrai / faux ou 1/0.
En outre, la valeur de champ peut être null - signifie aucune valeur -
Cellule vide.
123

13.

Date de type.
Par défaut, vous pouvez représenter la date de la base de données DD-MONYYYY DATE (par exemple, '01 -Feb-1900 '):
Insérer dans la table1 (ID, Date_work) Valeurs (1, '01 -Feb-1900 ').
Vous pouvez également utiliser le mot-clé Date. Dans le même temps déjà pour
Format de date AAAA-MM-DD (par exemple, '1900-02-01'):
Insertion dans Tableau1 (ID, DATE_WORK) Valeurs (1, date '1900-02-01').
Aussi, vous pouvez également utiliser le type de date + horodatage de temps
Pour la tâche, non seulement les dates, mais aussi le temps:
Insérer dans la table1 (ID, DATE_WORK) Valeurs (1, '01 -Feb-1900-10.50.01 '),
ceux.
1er février 1900 10 heures 50 minutes et 1 seconde (format DD-Mon-YY
-Hh.mm.ss.nnnnn)
133

14.

Convertir des types de données dans MSSQL
Convertir (type de données, chaîne, style) - convertir un
Format de données dans un autre
Dans les symboles:
Convertir (varchar (20), getDate ())
À la date
Convertir (DateTime, "14-11-2015", 105)
Nombre
Convertir (numérique, '1234657890 ")
143

15.

Transformation des types de données dans Oracle
To_char (valeur d'entrée, format) - conversion de la date,
Nombres, heure dans la chaîne.
Format: 'Mois DD', 'Mois DD, Yyyy', 'DD / mm / aaaa', 'Day lun, yy ad'
An.
$9,999.00
Etc.
To_char (sysdate, "mois dd")
To_date (valeur d'entrée, format) - conversion de ligne dans
Date. Format: DD-Mon-AAAAYY
Mois DD, aaaa, HH: mi m.
Etc.
To_date ("02-Jan-2012", "DD-Mon-AAAAYY")
To_number (valeur d'entrée, format) - Conversion de ligne en nombre.
To_number ("123")
153

16.

Autres objets de base de données
Présentation (vue) - Ce sont des objets BB qui ne contiennent pas
propres tables, mais leur contenu est pris d'autres tables
ou des points de vue en effectuant une requête.
Schéma (schéma) - Nommé groupe d'objets BD associés.
Index (index) - un objet créé pour augmenter
Performance de recherche. Table cachée contenant un
ou plusieurs colonnes importantes de la table et des pointeurs vers des lignes
Les tables.
Restriction (contrainte) - les conditions qui doivent satisfaire
Entré par l'enregistrement d'utilisateur.
163

17.

Autres objets de base de données
Procédure stockée (procédure stockée) - L'objet de la base de données,
Présenter un ensemble d'instructions SQL. Stocké dans la base de données.
Appeler la procédure conduit à la mise en œuvre du contenu de celui-ci
instructions.
Fonction (fonction) - similaire à la procédure stockée, mais retourne
valeur qui peut être utilisée dans plus grande
opérateur.
Déclencheur (déclencheur) - une procédure effectuée automatiquement
Quand un événement spécifié survient.
Curseur (curseur) - référence à la zone de contexte de la mémoire. Utilisant
Curseur, vous pouvez traiter séparément chaque ligne associée à
C'est un opérateur SQL.
173

18.

Sections de langue SQL
1. DDL - Langue de défense de données (langage de définition de la base de données).
Créer, modifier, tomber et td
2. DCL - Langue de contrôle des données (langage de gestion des données).
Subvention, révoquer
3. DML - Langue de manipulation de données (langue de manipulation
Les données). Insérer, mettre à jour, supprimer
4. Récupération de données - Sélectionnez l'échantillonnage des données
5. Contrôle des transactions (langage de la langue du processus de transaction).
Commettre, retour, point de sauvegarde.
183

19.

SQL. Cours de base
Partie 2. Langue de défenition des données
www.aplana.ru.

20.

Langue de défenition des données.
1.
Créer une table (création de tables)
Syntaxe générale:
Créer une name_Table (
Field1 Type de champ1,
Type de type2 de type2,
..., le champ du type polyn);
Créer une table PERSON_INFO (
PERSON_ID INTEGER NON NULL,
LE PREMIER_NAME VARCHAR (15) NON NULL,
Last_Name Varchar (20) Not Null,
Sexe char (1),
Date de Bierday,
Salaire numérique (7,2));
203

21.

Langue de défenition des données.
2. ALTER TABLE (Changement de tables)
ALTER TABLE NAME_TABLE (Ajouter<имя столбца> <определение столбца>}|
(Modifier<имя столбца> <Определение столбца>) | Colonne de déposer<имя
colonne\u003e)
3. Table de dépose (Tableaux de suppression)
Drop Table Nom_Telles (contraintes en cascade);
4. TRONQUER TABLE (Tables de nettoyage)
TRONCATE TABLE NOM_TABLE
213

22.

SQL. Cours de base
Partie 3. Langue de manipulation des données
www.aplana.ru.

23.

Langage de manipulation des données.
1. Insérer - Insérez une entrée séparée.
Insérez des valeurs Name_Table ino (valeur de champ1, valeur de champ2, ..
Valeur polyne);
Insérer dans NAME_TABLE (Field1, Field3, ...) Valeurs (valeur de champ, valeur de champ, ...,
Valeur polyne);
Insérer dans les valeurs Person_info (1, "John", "Smith", "M", "15 octobre 1973",
45568.56);
Insérer dans person_info (personne_id, first_name, last_name) Valeurs (5, Sarah "," Connor ");
Avec succès.
Insert dans les valeurs PERSON_INFO (NULL, "JANE", "SMITH", "F", "8-août 1987",
Nul);
Erreur, parce que la personne_id ne peut pas être nulle.
233

24.

Langage de manipulation des données.
Insertion de groupe d'enregistrements
Insérer dans NAME_TABLE
Sélectionnez ...;
Créer une table T2 (
First_1 varchar (15),
Last_1 Varchar (20),
Anniversaire_1 date);
Insérer dans T2.
Sélectionnez le nommé, last__name, anniversaire
De Person_info;
243

25.

Langage de manipulation des données.
Insérer dans les valeurs PERSON_INFO (2, "Sara", "DOE", "F", "9 octobre-1986",
29789.56);

29789.56);
Avec succès.
Insert dans les valeurs PERSON_INFO (3, "Sara", "DOE", "F", "9-OCT-1986",
29789.56);
Supprimez maintenant la deuxième entrée avec personne_id \u003d 2
Supprimer de personne_info où Person_id \u003d 2
253

26.

Langage de manipulation des données.
Intégrité des données
Intégrité de l'entité - Définit une chaîne de table en tant que copie unique
Une entité.
Touche principale (clé primaire) - colonnes ou colonnes de groupe unique
Identifier chaque enregistrement.
La clé externe (clé étrangère) est le reflet des liens entre les tables. Subordonnant
La table doit avoir une colonne identique (ou un groupe de colonnes) pour le stockage
Valeurs, identifiant de manière unique les enregistrements principaux.
Intégrité de référence - dans des tableaux subordonnés ne devraient pas être enregistrés,
faire référence à des enregistrements inexistants des tables principales.
263

27.

Langage de manipulation des données.
273

28.

Langage de manipulation des données.
Clé primaire
ALTER TABLE NAME_TABLE
Ajouter une clé primaire;
ALTER TABLE PERSON_INFO.
Ajouter une clé primaire (personne_id);
Les valeurs de la clé primaire impliquent une identification unique
Les entrées, respectivement, les valeurs ne peuvent pas être répétées.
Et encore essayer d'ajouter une entrée avec personne_id \u003d 2:
Insérer dans les valeurs Person_info (2, "Rita", "coup", "F", "9-Oct-1975",
29789.56);
283

29.

Clé externe
Alter table_name_table_table_table
Ajouter un nom de clé étrangère de contrainte (Nom de la bibliothèque
Subalterne
Tables) Références Name_Table_table;
Créer une table Person_Address (
PERSON_ID INTEGER,
Adresse Varcharchar (200));
Alter Table Person_Address
Ajouter contrainte personne_fk_address
Touche étrangère (personne_id)
Références person_info;
293

30.

Langage de manipulation des données.
Insérer dans les valeurs Person_Address (1, "Moscou, rue Arbat, 67-14");
Insérer dans les valeurs de Person_address (2, "Moscou, rue Arbat, 67-14");
Avec succès.
Insérer dans les valeurs PERSON_ADDRESS (4, "Zelenograd, Green Street, 23");
Erreur. Tenter d'insérer une entrée subordonnée en l'absence de
Enregistrement principal pertinent.
Insérer dans les valeurs de Person_address (3, "Zelenograd, rue verte, 23");
303

31.

La liaison de table lors de la création
Comme nous l'avons déjà examiné plus tôt, la création est largement utilisée.
Clés primaire (clé primaire) et externe (clé étrangère)
Par des commandes pour modifier la structure des tables existantes. Également
Vous pouvez ajouter ces structures et pour créer une table:
Créer une table onglet1 (
ID Integer Primary Key,
…..
313

32.

Langage de manipulation des données.
2. Mise à jour - Modification des valeurs de colonnes de table
A) Changer toutes les valeurs de la colonne de table
Mettre à jour.
ENSEMBLE. =
Mettre à jour PERSON_ADDRESS
Set Address \u003d "Volgograd, première rue, 15-20"
B) Modifier les valeurs spécifiques de la table
Mettre à jour.
ENSEMBLE. =
=
Mettre à jour Person_Address Set Address \u003d "Volgograd, première rue, 15-20"
Où personne_id \u003d 3;
Mettre à jour.
ENSEMBLE. =
= [opérateur]
Mettre à jour la personne_info Set Salaire \u003d Salaire * 2
Où personne_id \u003d 3;
323

33.

Langage de manipulation des données.
3. Supprimer - Supprimer des lignes de la table
A) Supprimer toutes les valeurs de la colonne de table
Supprimer de.
B) Supprimer des valeurs de table spécifiques
Supprimer de.
=
333

34.

Numéro de tâche pratique 1
1. Créez la base de données illustrée à la figure 1 (Créer des tables et une touche externe)
2. Faites les données suivantes dans les tables.
Dept: (1, "Marketing"), (2, "RD")
EMP: (1, 1, "James", 1000), (2, 2, "Smith", 2000)
3. Créez une table de Dept_arch avec la même structure que sur la table du département.
4. Insérez toutes les données de la table de départs dans la table Dept_arch.
343

35.

Tâche pratique numéro 1 (suite)
5. Augmentation de 15% de salaire Smith Employee.
6. Assurez-vous que la table de départs ne peut pas être insérée de cette entrée: (2, «Ventes»). Pourquoi?
7. Assurez-vous que la table EMP ne peut pas être insérée une telle entrée: (3, 4, "Noir", 3000,
"Actif"). Pourquoi?
8. Modifiez le nom du RD en Randd (Table DePT).
9. Retirez de la table EMP de l'EMP_ID \u003d 1 de la table EMP.
12. Supprimez tous les enregistrements de la table EMP.
13. Supprimer la table EMP.
353

36.

SQL. Cours de base
Partie 4. DRL. Demandes simples
www.aplana.ru.

37.

Notre base de données de formation
373

38.

Langage de récupération de données.
Sélectionner - échantillonnage de données. Cette section est obligatoire dans la demande et
Permet:
Sélectionnez Field1, ... Champ de TABLI1, .., TAPL Où condition
383
Déterminez la liste des colonnes de sortie
Activer les colonnes calculées
Activer les constantes
Renommer les colonnes de sortie
Spécifiez le principe de traitement des lignes en double
Activer les fonctions globales

39.

Langage de récupération de données.
1.
Définition de la liste de colonnes de sortie
La liste des colonnes de sortie peut être spécifiée de plusieurs manières:
. Spécifiez le * symbole * qui indique l'inclusion dans les résultats de la requête de toutes les colonnes
Demande en séquence naturelle.
. Énumérés dans l'ordre souhaité seulement le nécessaire<имена столбцов>.
Sélectionnez PERSON_CODE, NOME PREME_NAME, LAST_NAME de la personne;
- peut-être changer l'ordre des colonnes
Sélectionnez First_Name, Last_Name, Person_Code de la personne;
393

40.

Enchaînement
Connexion de deux ou plusieurs parties du texte.
Sélectionnez le nom de produit + "A été vendu par" + vendeur de l'achat;
403

41.

Langage de récupération de données.
2. Allumez les colonnes calculées
Comme une requête calculée peut être:
. Les résultats des expressions arithmétiques les plus simples (+, -, /, * _ ou
Concaténation des chaînes (+).
. Résultats des fonctionnalités d'agrégation (AVG | SUM | MAX | MIN |
COMPTER)
413

42.

Langage de récupération de données.
3. Inclusion des constantes
Comme les colonnes peuvent être une constante numérique et
Types symboliques.
Sélectionnez "Il y a un tel code", personne_code, "for", premier_name, last_name
De la personne.
423

43.

Langage de récupération de données.
4.
Renommer les colonnes de sortie
Calculé, ainsi que toute autre colonnes, si désiré,
Vous pouvez attribuer un nom unique à l'aide d'un mot-clé
COMME:<выражение> Comme<новое имя>
Sélectionnez Product_Name + "A été vendu par" + vendesperson comme solby
De l'achat;
Vous pouvez définir des alias et sans l'utilisation d'un mot-clé, mais avec des restrictions:
Sélectionnez Product_Name + "a été vendu par" + vendeur solde
De l'achat;
Sélectionnez le nom de produit + "a été vendu par" + vendeur "vendu par"
De l'achat;
433

44.

Langage de récupération de données.
5. Spécifier le principe de traitement d'un double
Distinct - interdit l'apparition de lignes-duplicats le week-end
Ensemble. Il peut être défini une fois pour l'instruction SELECT.
En pratique, l'ensemble de sortie est initialement formé,
Organisé, puis répétitif de celui-ci
valeurs. Généralement, il faut beaucoup de temps et ne devrait pas
abuser de.
Sélectionnez Distinct * de la personne
Tous (valables par défaut) - assure l'inclusion dans
Demander des résultats et des valeurs répétitives
443

45.

Langage de récupération de données.
6.
Activer les fonctions globales
Fonctions d'agrégation (fonctions sur des ensembles, statistiques ou
basique) sont conçus pour calculer certaines valeurs pour
spécifié plusieurs chaînes. Les agrégats suivants sont utilisés
Les fonctions:
AVG | Somme (<выражение) – подсчитывает среднее значение | сумму от
<выражение>.
Min | max (<выражение>) - trouve le maximum | valeur minimum.
Compte (* |<имя столбца>) - compte le nombre de lignes
Mais sur cette autre
453

46.

Langage de récupération de données.
Où est un échantillon de données qui satisfont à certains
Conditions.
Sélectionnez Field1, ... champ de table1, .., tablem où
Condition1, ... condition
463

47.

Langage de récupération de données.
Exemples:
Sélectionnez * du produit où LastStockdate est NULL;
Sélectionnez * à partir du produit où LastStockDate n'est pas null;
Sélectionnez Product_Name, Product_Price, Quantity_on_hand
Du produit où Quantité_on_hand\u003e 150;
Sélectionnez le nom de produit, produit_price du produit
Où le nom de produit.<> "Zincator carré";
473

48.

Langage de récupération de données.
Il y a des conditions plus complexes:
Frapper beaucoup
<конструктор значений строки> Dans (<подзапрос>|<набор конструкторов
Valeurs de ligne\u003e)
L'ensemble des valeurs auxquelles l'objet de comparaison enregistré à
Le mot clé en peut-être appartenir ou non. Si la sous-requête n'est pas
Retourne les chaînes, le prédicat prend la valeur de faux.
Exemples pour travailler avec des ensembles:
Sélectionnez * à partir de l'achat où vendesperson in ("ca", "bb");
Sélectionnez * à partir de l'achat où le vendeur n'est pas dans ("ca", "bb");
Sélectionnez * à partir de l'achat où (vendeur + produit_name) dans (("ca" + "petit
Widget "), (" GA "+" chrome phoobar ")))
483

49.

Langage de récupération de données.
Gamme d'accessoires
<конструктор значений строки> Entre.<конструктор
Valeurs de ligne 1\u003e et<конструктор значений строки 2>
Entre le prédicat est similaire à un prédicat, mais au lieu d'éléments
Définit qu'il définit les frontières dans lesquelles [pas] devrait
Vérifiez la valeur.

Produit_price pas entre 1 et 80;
493

50.

Langage de récupération de données.
opérateurs booléens
<предикат> (Et | ou | pas)<предикат>
Notes: opérateur booléen se lier à un ou plusieurs prédicats, formant
La seule valeur logique est vraie | Faux. Utilisation des prédicats S.
Les opérateurs booléens peuvent augmenter considérablement et sélectif
La capacité de sélectionner des lignes dans le résultat de la requête.
Lorsque vous utilisez des opérateurs booléens, surtout l'opérateur, suit
Appliquer des supports ronds pour établir correctement des conditions (et
Effectué plus tôt ou).

"% Widget" ou produit_price< 20;
Sélectionnez le nom de produit, produit_price à partir du produit où le nom de produit comme
"% Widget" et produit_price< 20;
503

51.

Langage de récupération de données.

Sélectionnez la liste de la liste dans laquelle la liste du tableau vérifié comme valeur
(modèle) (évasion);
Un tout symbole - _
Sélectionnez PERSON_CODE, NOME PREMIER_NAME DE LA PERSONNE QUE PERSONNE_CODE LIKE "_A";
Toute sous-chaîne -%
Sélectionnez Nom de produit à partir du produit où le nom de produit comme "% Chrome%";
Si vous avez besoin de trouver du texte avec un symbole% (par exemple, le nom du produit
A B C D E F):
Où le nom de produit comme "AB $% C%" évacuer "$";
Le premier% est lu comme un symbole dans le titre, la seconde - comme n'importe quelle chaîne.
513

52.

Langage de récupération de données.
Exemples d'opérateur de recherche comme
... où patronymique comme '% ov%'
... où patronymique comme "et%"
... où patronymique comme '% VIH'
... où comme '____ ____ os'
523

53.

Langage de récupération de données.
Exemples d'opérateur de recherche comme

Sélectionnez le nom de produit à partir de l'achat
Où le nom de produit comme "% widget"
Sélectionnez le nom de produit à partir de l'achat
Où le nom de produit comme "% $ $ widget"
Escape "$"
533

54.

Langage de récupération de données.
Tri
Sélectionnez la liste des colonnes à partir de la liste de table WHERY CONDITION
Commande par liste de colonnes ASC (DESC);
Descendant:
Sélectionnez le nom de produit, produit_price du produit
Commande par Product_Price Desc;
Ascendant:
Sélectionnez le nom de produit, produit_price du produit
Commander par produit_name ASC;
543

55.

Tâche pratique numéro 2
1. Écrivez une demande qui indique complètement la table d'achat.
2. Écrivez une demande qui sélectionne les colonnes de nom de produit et de quantité de
Tables d'achat.
3. Écrivez une demande qui choisit ces colonnes dans l'ordre inverse.
4. Écrivez une demande qui s'affiche pour chaque ligne de la table de personnes
Texte suivant:
Commencé à travailler. * Colonne reçue
Attribuer le pseudonyme "Commencé au travail".
5. Écrivez une demande que la sortie du produit produit Nom du produit
(Table des produits) pour laquelle le prix n'est pas défini (NULL).
6. Écrivez une demande que la sortie Nom du produit produit
(Table d'achat), qui ont été vendus de 3 à 23 morceaux.
* MSSQL ne prend pas en charge les colonnes avec les types de données VARCHAR et DATE. Utiliser l'opérateur
Converetation: Convertir (Varchar, embauche)
3

56.

Numéro de tâche pratique 2 (suite)
7. Ecrivez une demande qui génère les noms des employés qui
Accepté 1Go, 15 et 28 février 2010.
8. Écrivez une demande que le nom du produit de sortie.
Nom de produit (achat de table) vendu par des employés dont les noms commencent sur "B".
9. Écrivez une demande qui perturbe le nom du produit.
Nom de produit (achat de table) vendu par des employés dont les noms ne commencent pas à
"B".
10. Ecrivez une demande qui affiche les noms et la date d'emploi
employés dont les noms commencent sur "B" et qu'ils ont accepté
travailler plus tôt que le 1er mars 2010.
11. Écrivez une demande qui perturbe le nom du produit.
Nom de produit et lastockdate Date du dernier fournisseur (tableau
Produit) dont le petit widget de nom, widget moyen et grand
Widget ou celles pour lesquels la dernière date de livraison n'est pas spécifiée.
Trier la date de la dernière livraison.
563

57.

SQL. Cours de base
Partie 5. Échantillonnage des données de plusieurs tables
www.aplana.ru.

58.

Sélection des données de plusieurs tables
Sélectionnez Nom_Tablite_1.in_stolbets, name_table_2.
Namestolbitsa
De name_table_1, nom_table_2;

De l'achat, personne;
Produit cartésien - connexion sans
Où des conceptions, à la suite de laquelle chaque ligne
Une table est combinée à chaque ligne d'une autre
Les tables.
583

59.

Sélection des données de plusieurs tables avec condition
Select_name_tablitsa_1.in_stolbets, nom_tabectsy_2. Namestolbitsa
De name_table_1, nom_table_2
Où name_ternet_table
name_named_table.
Sélectionnez Achat.Product_Name, Person.First_Name, Person.Last_Name
De l'achat, personne
Où personne.person_code \u003d achat.saleesperson;
593

60.

Types de composé
Il existe également d'autres moyens de connecter des tables sur les clés:
<таблица А> [<тип соединения>] Rejoindre.<таблица B> AU.<предикат>
<тип соединения> représente l'un des arguments: intérieur | (gauche | droite |
PLEIN)
Intérieur - Comprend des lignes dans lesquelles il y a des colonnes avec les données coïncidantes
Tables Unies. Utilisé par défaut.
Gauche - inclut toutes les lignes de tableau A (table de gauche) et tout ce qui coïncide
Les valeurs du tableau B. Les colonnes de lignes incluses sont remplies de valeurs NULL.
Droit - inclut toutes les lignes de table B (table droite) et tous coïncideux
Valeurs de table A. Option inversée pour l'Union de gauche.
Full - inclut toutes les lignes des deux tables. Colonnes correspondant à la chaîne
Rempli de valeurs réelles et les lignes incohérentes sont des valeurs nulles.
Extérieur (externe) - clarifier le mot, ce qui signifie que les lignes incompatibles de
La table d'accueil est incluse avec la coïncidence.
603

61.

Options pour les tableaux de connexion
Adresse
Téléphoner
Jointure interne.
Sélectionnez * à partir de l'adresse interne Rejoignez le téléphone sur adresse.Clientid \u003d téléphone.clientid
613

62.

Options pour les tableaux de connexion
Adresse
Téléphoner
Sélectionnez * à partir de l'adresse, du téléphone où adresse.clientid \u003d téléphone.clientid
623

63.

Options pour les tableaux de connexion
Adresse
Téléphoner
JOINT GAUCHE.
Sélectionnez * à partir de l'adresse gauche Joindre un téléphone sur adresse.clientid \u003d téléphone.clientid
633

64.

Options pour les tableaux de connexion
Adresse
Téléphoner
Joindre droit.
Sélectionnez * à partir de l'adresse Droite Joindre un téléphone sur adresse.clientid \u003d téléphone.clientid
643

65.

Options pour les tableaux de connexion
Adresse
Téléphoner
Joindre complet.
Sélectionnez * à partir de l'adresse Full Join Téléphone sur Adresse.Clientid \u003d Téléphone.clientid
653

66.

Opérateurs de connexion
Union renvoie toutes les lignes des deux déclarations de sélection; Repoussant
Les valeurs sont supprimées.
Union Tout retourne toutes les lignes des deux déclarations de sélection; Repoussant
Les valeurs sont affichées.
Intersect renvoie des lignes renvoyées et d'abord et deuxième
Sélectionnez l'opérateur.
Sauf renvoyer les lignes renvoyées par la première instruction SELECT,
Excluant ceux retournés par le deuxième opérateur.
Le nombre et l'ordre des colonnes renvoyées par sélectionneur des deux tables doivent
coïncider.
663

67.

Opérateurs de connexion
Sélectionnez le nom de produit.
De l'achat.
Ordre par produit_name.
673
Sélectionnez le nom de produit.
De Achat_archive.
Ordre par produit_name.
Sélectionnez le nom de produit.
De l'achat.
syndicat
Sélectionnez le nom de produit.
De Achat_archive.
Ordre par produit_name.

68.

Opérateurs de connexion
Sélectionnez Product_Nam E.
FRO ACHETER.
U n io n tous
Sélectionnez Product_Nam E.
Fro m achat_archive
O rd er par 1
683
Sélectionnez Product_Nam E.
FRO ACHETER.
Sauf
Sélectionnez Product_Nam E.
Fro m achat_archive
O rd er par 1
Sélectionnez Product_Nam E.
FRO ACHETER.
Dans Tersect.
Sélectionnez Product_Nam E.
Fro m achat_archive
O rd er par 1

69.

Alias \u200b\u200bsur le terrain de
Lorsque vous utilisez de grandes bases de données avec des schémas pris
Utilisation de pseudonymes:
Sélectionnez Purc.Product_Name, Prod.LastStockdate, Pers.First_Name,
pers.last_name.
De l'achat comme purc,
Personne comme pers
Produit prod.
Où pers.person_code \u003d purc.saleesperson et
prod.product_name \u003d purc.product_name;
693

70.

Tâche pratique numéro 3
1. Écrivez une demande qui affiche le produit Cartésien du produit Tableaux
Et acheter.
2. Écrivez une demande qui affiche le nom des marchandises vendues.
Nom de produit, Quantité Quantité (Table d'achat) et
Quantity_on_hand (produit de table).
3. Distribuez la demande en retirant le nom du produit produit.
(Table d'achat), dernière date de livraison DateStockdate (tableau
Produit) et nom de famille du dernier numéro de nom (Table de la personne).
4. Écrivez une demande que les colonnes de sortie produit_name, First_Name,
Last_Name Combinaison externe Tables d'achat et personne. Utilisation pour les tables
Pseudonymes courts.
703

71.

Tâche pratique numéro 3 (suite)
5. Écrivez une demande qui affiche tous les codes qui ne se répètent pas à l'achat
les vendeurs
Vendeur de la table Achat_archive.
6. Ecrivez une demande qui affiche des codes que ces vendeurs vendeurs de
Tables d'achat, qui sont également contenues dans la table Achat_Archive.
7. Ecrivez une demande qui affiche tous les codes (y compris les codes répétés)
Vendeurs vendeurs de tables d'achat et d'achat_Rarchive.
713

72.

SQL. Cours de base
Partie 6. Fonctions globales. Regroupement
Les données.
www.aplana.ru.

73.

Opérateurs mathématiques
Opérateur mathématique - Symboles désignant les opérations (+, -, *, /)
Calculs à l'aide des données des tables.
Sélectionnez le nom de produit, produit_price * 1.07 du produit;
Sélectionnez le nom de produit, produit_price * Quantity_on_hand
Du produit;
Sélectionnez Product_Name, Product_Price * 1.07 * Quantity_on_hand Product_Price * Quantity_on_hand
Du produit;
Sélectionnez le nom de produit, produit_price * (Quantity_on_hand + 10)
Du produit;
733

74.

Opérateurs mathématiques
Fonctions d'agrégation (fonctions sur des ensembles, statistiques ou de base)
Conçu pour calculer certaines valeurs pour un ensemble donné
Lignes.
1. Somme - résume les valeurs et renvoie le résultat.
Sélectionner la somme (quantité)
De l'achat;
2. AVG - Renvoie la valeur moyenne en fonction de la spécifiée
colonne.
Sélectionnez AVG (Product_Price)
Du produit;
743

75.

Opérateurs mathématiques
3. Min - retourne la valeur minimale de la colonne spécifiée.
Sélectionnez Min (Product_Price)
Du produit;
4. Max - renvoie la valeur maximale de la colonne spécifiée.
Sélectionnez Max (Product_Price)
Du produit;
753

76.

Opérateurs mathématiques
5. Compte - comptes enregistrements.
Sélectionnez Compte (*)
De l'achat; - lignes prenant en compte les valeurs null
Sélectionnez Compte (Nom de produit)
De l'achat; - valeurs dans la colonne, ignorant null
763

77.

Par groupe.
Cette section est conçue pour combiner les résultats de la requête dans le groupe et le calcul.
Pour chacune d'elles valeurs statistiques. Terme parfois utilisé
"Table groupée".
Sélectionnez le nom de produit, somme (quantité)
De l'achat.
Groupe par le nom de produit;
Sélectionner une instruction peut inclure plusieurs fonctions de groupe.
Sélectionnez le nom de produit, Somme (Quantité) "Total Vendu", Compter (Quantité) Transactions
De l'achat.
Groupe par le nom de produit;
773

78.

Ayant
Ayant - est une sous-section conçue pour limiter le nombre
Rangées dans une table groupée et fait partie du groupe par section.
Le prédicat de cette section est basé sur les mêmes règles sémantiques que
Dans la section où, mais directement dans le prédicat ne peut que participer
Ces colonnes spécifiées dans le groupe par section. Le reste peut être
Utilisez uniquement à l'intérieur des fonctions d'agrégation. Cette section
limite la composition des groupes (sous-groupes) des lignes auxquelles
Résultat de la demande. En groupes (sous-groupes) incluent seulement ceux-ci
de nombreuses lignes possibles pour les valeurs dont sont effectuées
Section de prédicat ayant. À l'intérieur de la section Avoir, vous pouvez utiliser
Demandes investies avec des fonctions d'agrégation, ainsi que liées
Sous-requêtes.
783

79.

Ayant
Ceux-ci., Résumé ci-dessus décrit, peut être réduit
Sous-section de rendez-vous à:
Avec l'aide de la conception que vous pouvez
Groupes de filtres.
Avoir des œuvres pour des groupes ainsi que pour lesquelles des enregistrements individuels.
Sélectionnez le nom de produit, Somme (Quantité) "Total Vendu",
Compte (quantité) transactions
De l'achat.
Groupe par nom de produit.
Avoir une somme (quantité)< 5;
793

80.

Tâche pratique numéro 4
1. Écrivez une demande montrant quel prix produit produit_price après
augmenter de 15%.
2. Écrivez une demande montrant combien il a des produits dans la table des produits.
3. Installez la demande indiquant lequel le nombre de biens (produit de table) n'est pas
Prix.
4. Écrivez une demande qui affiche le prix minimum et maximum des marchandises produit_price.
5. Ecrivez une demande montrant comment le montant a été inversé des ventes de marchandises de chacun
Nom.
6. Écrivez une demande montrant quel montant a été inversé des ventes de chaque
Nom. Afficher uniquement les enregistrements pour lesquels le montant des ventes est supérieur à 125.
803

81.

SQL. Cours de base
Partie 7. Sous-requêtes
www.aplana.ru.

82.

Sous-requêtes
La sous-requête est la demande de sélection habituelle intégrée à l'opérateur.
SÉLECTIONNER,
Mettre à jour.
ou alors
Effacer.
Il est utilisé comme source de données pour la section de la section.
Où l'opérateur de parents.
823

83.

Sous-requêtes
Il y a quelques restrictions à l'utilisation des sous-requêtes:
833
La sous-requête ne doit choisir qu'une seule colonne (sauf pour le sous-traiteur avec
Existe des prédicats) et le type de données de son résultat doit correspondre au type
Valeurs de données spécifiées dans le prédicat.
Dans certains cas, vous pouvez utiliser le mot-clé distinct pour la garantie.
obtenir une seule valeur.
Dans la demande ci-jointe, l'ordre par et l'Union ne peut pas être inclus.
La sous-requête peut être laissée et juste à partir de la condition de recherche.
Dans les sous-requêtes peuvent être utilisées par des fonctions d'agrégation sans partition
Par groupe.

84.

Sous-requêtes à une seule ligne
Une sous-requête à une seule ligne est une sous-requête qui ne renvoie qu'une valeur.
Les symboles de comparaison sont utilisés avec le résultat de la demande ci-jointe (\u003d<>, <, <=,
>, >=)
Sélectionnez * du produit
Où lastockdate \u003d (sélectionnez lastockdate
Du produit où produit_name \u003d "petit widget");
Un exemple (en utilisant une fonction d'agrégat dans une sous-requête à une seule ligne):
Sélectionnez * du produit où produit_price\u003e
(Sélectionnez AVG (Product_Price) du produit);
843

85.

Sous-requêtes multilignes
La sous-requête multiligne est une sous-requête qui ne renvoie que\u003e \u003d 1
valeur.
Pour de telles sous-requéres, il est impossible de comparer avec
en utilisant des signes d'égalité / d'inégalité; Il est nécessaire d'utiliser la fonction
Dans.
Sélectionnez * du produit
Où produit_name in.
(Sélectionnez Nom de produit distinct à partir de l'achat);
Mise à jour Set produit Product_Price \u003d product_price * 0.9
Où le nom de produit pas dans (sélectionnez Nom de produit distinct
De l'achat);
853

86.

Existe.
Existe utilise une sous-requête comme argument et
l'évalue comme vrai s'il y a une sous-compréhension
Sortie, et sinon comme faux.
Il est exécuté une sous-requête une fois et peut contenir
plusieurs colonnes, car leurs valeurs ne sont pas cochées,
Et corrige simplement le résultat des lignes.
Existe des notes de prédicat:
Existe - prédicat de retour de la valeur vraie ou fausse, et
Il peut être appliqué séparément ou avec d'autres booléens
expressions.
863

87.

Existe.
Sélectionnez * du produit
Où existe.
(Sélectionnez * à partir de l'achat
Où produit.product_name \u003d achat.product_name);
873

88.


Toutes les comparaisons seront faites avec tous les enregistrements que
Renvoie une sous-requête (ou simplement avec toutes les valeurs de l'ensemble). Vrai.
ne reviendra que si tous les enregistrements qui renvoient
Se submerger, rencontrera la condition que vous avez spécifiée.
Sélectionnez * du produit
Où produit_price\u003e \u003d Tout (sélectionnez Produit.Product_price
De l'achat, produit


La demande retournera tous les produits de la table du produit, dont le prix est plus ou plus
Il est égal au prix de chaque produit vendu par un employé avec le code "GA".
883

89.

Conditions de groupe (opérateurs de comparaison).
Toute comparaison retournera vrai si l'état satisfera au moins un
Enregistrement de sous-requête (ou cadran).
Sélectionnez * à partir du produit où produit_price\u003e tout (sélectionnez
Produit.product_price.
De l'achat, produit
Où achat.product_name \u003d produit.product_name
Et acheter.saleesperson \u003d "ga");
La demande retournera tous les enregistrements de la table du produit pour lequel le prix du produit
Plus de prix de tout produit vendu par un employé avec le code "GA".
Certains - fait la même chose que tout. Complètement interchangeable.
893

90.

Tâche pratique numéro 5
1. Ecrivez une demande qui renvoie tous les employés qui ont pris pour travailler au même
Jour comme employé John Smith.
2. Écrivez une demande qui renvoie tous les produits dont le prix est inférieur au prix moyen.
3. Ecrivez une demande qui retourne tous les biens vendus plus d'un
fois.
4. Imprimez les marchandises agrandies à 15%, qui ont été vendues plus d'une fois.
5. Utiliser le CERSE existant, écrivez une demande qui renvoie tous les employés,
qui au moins une fois vendu autre chose.
6. Écrivez une demande qui renvoie tous les produits de la table du produit, dont le prix
Prix \u200b\u200bde tout produit vendu par un employé avec le code "GA".
7. Écrivez une demande qui retournera tous les produits de la table des produits, le prix est inférieur à
Prix \u200b\u200bAu moins un produit vendu par un employé avec le code "GA". Sois sûr que
Opérateurs certains et tout interchangeable.
903

91.

SQL. Cours de base
Partie 8. Fonctions pour travailler avec des lignes, des dates et
Nombres
www.aplana.ru.

92.

Fonctions pour travailler avec des chiffres
Rond - arrondit les chiffres avec une précision donnée.
Rond (relation d'entrée, numéro_name_textile_textile)
Sélectionnez le nom de produit, rond (produit_price, 0)
Du produit;
Sélectionnez Rond (1234.5678, 3) --MSQL
Sélectionnez la ronde (1234.5678, 3) de Dual;
Fonction ronde
Rond (1234.5678.4)
Rond (1234.5678, 3)
Rond (1234.5678, 2)
Rond (1234.5678,1)
Rond (1234.5678.0)
Rond (1234.5678, -1)
Rond (1234.5678, -2)
Rond (1234.5678, -3)
923
Valeur de retour
1234.5678
1234.568
1234.57
1234.6
1235
1230
1200
1000
--ORACLE

93.

Fonctions pour travailler avec des chiffres
Trunc - tronque le numéro, abaissant sa précision.
Fonction de trunc
Valeur de retour
Trunc (1234.5678.4)
1234.5678
Trunc (1234.5678.3)
1234.567
Trunc (1234.5678, 2) 1234.56
Trunc (1234.5678,1)
1234.5
Trunc (1234.5678.0)
1234
Trunc (1234.5678, -1)
1230
Trunc (1234.5678, -2) 1200
Trunc (1234.5678, -3) 1000
933

94.

Tables auxiliaires
Tables auxiliaires (factices)
Pour effectuer des fonctions, sans liaison à des tables spécifiques dans un certain nombre de SGBD
Vous devez spécifier la table de service, car SQL implique
Design Sélectionnez ... de.
Oracle - Dual.
DB2 - SysduMy1.
Sybase - Mannequin.
Mysql - Dual.
MSSQL - NO. MSSQL reconnaît les demandes de service sans
Doit spécifier une table factice.
943

95.

Fonctions pour travailler avec des dates
GetDate - retourne la date actuelle.
Sélectionnez GetDate ();
DATAREADD - retourne la date obtenue comme montant de la date initiale
Date et intervalle ajouté à la composante spécifiée Dates de DatePart
Date.
Add_months (valeur, quantité, date initiale)
Sélectionnez Daaddd (mois, 1, getDate ());
Sélectionnez DaadDD (année, -2, GetDate ());
953

96.

Fonctions pour travailler avec des dates
Eomezth - retourne le dernier jour de chaque mois spécifié
À la date qui l'a été transféré (MSSQL 2012+).
Eomezth (date)
Sélectionnez Eomezth (getDate ());
Sélectionnez Eomezth ("2015-03-15");
Sélectionnez le nommé, Last_Name, embauche, Eomezth (embauche) +1
De la personne;
963

97.

Fonctions pour travailler avec des dates
DATIFF - Renvoie le nombre d'unités séparant deux dates.
Daturant (valeur, date initiale, date de fin)
Sélectionnez DataIff (milliseconde, getDate (), sysdateTime ());
Sélectionnez DataIff (mois, "17-août 2012", getDate ());
973

98.

Fonctions pour travailler avec du texte
Upper - met tous les caractères de chaîne dans le registre principal.
Basse - Met tous les caractères de chaîne en minuscule.
Initcap (Oracle) - Modifie la ligne de chaîne sur le mélange (la première lettre de chaque
Les mots seront dans le majuscule, le reste du mot est inférieur).
Sélectionnez Upper (Nom de produit) du produit;
Sélectionnez Basse (Nom de produit) du produit;
Sélectionnez InitCap («Ce texte avait un cas imprévisible») de Dual;
983

99.

Fonctions pour travailler avec du texte
LEN - détermine la longueur de la ligne.
Sélectionnez Product_Name, LEN (Nom de produit) Longueur
Du produit.
Où Len (Nom de produit)\u003e 15;
993

100.

Fonctions pour travailler avec du texte
Substring - Coupe la valeur dans le paramètre.
Substrage (source_text, position du symbole initial,
Personnages)
Substrage (ligne 1, a, [, b])
Retourne partie "ligne 1" commençant par un caractère avec le numéro A,
et avoir la longueur des caractères. Si A \u003d 0, cela équivaut au fait que
A \u003d 1 (ligne de départ) si les caractères sont retournés positivement
de gauche à droite. Si B est négatif, à partir de la fin de la ligne et
Sont considérés comme laissés à droite! Si B est absent, alors par défaut
Tous les caractères sont retournés à la fin de la ligne
100
3

101.

Fonctions pour travailler avec du texte
SelectRing (item_id, 1, 3) Emplacement,
Substrage (item_id, 5, 3) item_number
De vieux_item;
101
3

102.

Fonctions pour travailler avec du texte
Charindex - trouve la position du symbole (ou des symboles) séparant les éléments
Spectacle.
Charindex (ligne 1, ligne 2, [, a])
Renvoie l'emplacement de "Line 1", dans "Line 2". "La ligne 2" est vue
À gauche, à partir de la position A. Si un négatif, alors "String 2" est visualisé
sur la droite. La valeur par défaut pour A est 1, qui entraîne la position,
La première entrée, "Line 1", dans "Line 2". Si à un A donné, "Line 1" n'est pas
Trouvé, retourne 0
102
3

103.

Fonctions pour travailler avec du texte
Charindex (sanguant_simvivo, texte _fa_cing, position
_Anchal_simvol)
Sélectionnez l'élément_desc, Charindex (",", item_desc, 1)
De vieux_item;
103
3

104.

Fonctions enchanteur
Sélectionnez l'élément_desc, sous-chaîne (item_desc, 1, charindex ("," item_desc, 1))
Catégorie.
De vieux_item;
104
3

105.

Fonctions enchanteur
105
3
Sélectionnez l'élément_desc,
Substring (item_desc, 1, charindex ("," item_desc, 1) -1) catégorie,
Substrage (item_desc, charindex ("," item_desc, 1) +2, 99) item_size
De vieux_item;

106.

Tâche pratique numéro 6
1. J'utilise des fonctions pour travailler avec des dates et des chiffres, compte,
Quel âge as-tu.
2. Afficher la chaîne "Je connais des fonctions de texte" dans le haut et
Registre inférieur.
3. Apprenez la longueur de cette ligne.
4. Utilisation de la colonne Achat.Product_Name, sortie:
Les trois premiers symboles
tous les caractères restants à partir du quatrième
Chaîne
106
3

107.

Ressources utiles
http://sqlfiddle.com/ - un outil qui émule une base de données vide:
Vous permet d'effectuer une partie importante de DML, DDR et DR
Demandes. Prend en charge 5 dialectes principaux
http://www.sql-tutorial.ru/ - manuel SQL interactif sur
russe
http://www.sql-ex.ru/ - portail interactif pour la résolution
Tâches sur SQL
https://dev.mysql.com/downloads/mysql/ - SQL gratuit
serveur pour divers
https://www.mysql.com/products/workbench/ - gratuit
Outil pour travailler avec MySQL Server
107
3

108.

Merci pour l'attention!
Vos questions?
Société "Aplana"
Sergey Vorobyov
Testeur d'ingénieur principal
+7-917-556-13-49
www.aplana.ru.

Transcription.

2 Postgres Professional E. P. Morgunov SQL Language. Formation de base de cours et manuel pratique Moscou 2017

3 UDC BBK M79 M79 MORGUNOV, E. P. LANGUE SQL. Cours de base: études. Allocation / E. P. MORGUNOV; Ed. E. V. Rogova, P. V. Luzanova; Postgres Professional. M., p. Ce manuel éducatif et pratique est le premier, fondé sur la base de la formation en SQL, offert par la société russe Postgres Professional. Le matériel de formation est soumis à l'utilisation du système de gestion de la base de données PostgreSQL. Le manuel peut être utilisé à la fois sous la direction de l'enseignant et pour une langue SQL auto-étudiée. Le manuel est destiné aux étudiants inscrits aux instructions de "Informatique et ingénierie informatique", "Systèmes d'information et technologies", "Informatique appliquée", "Ingénierie logicielle" et "fourniture mathématique et administration de systèmes d'information". Il peut être utile à un large éventail d'étudiants et de spécialistes qui souhaitent se familiariser avec les bases de la langue SQL dans le système de gestion de la base de données PostgreSQL. UDC BBK Postgres Professional, 2017 E. P. Morgunov, 2017

4 Table des matières Introduction 5 1 Introduction aux bases de données et SQL Quelle est la base de données et pourquoi ils ont besoin des concepts de base du modèle relationnel Quelle est la description de la langue SQL de la zone et de la base de données des questions de contrôle et des tâches créant un environnement de travail. Le programme DBMS PSQL Interactive Terminal PostgreSQL Déploiement des bases de données de formation Questions et emplois Tableaux d'opérations de base 22 Tableaux de contrôle et tâches Types de données PostgreSQL Types symboliques numériques (chaîne) Types "Date / heure" Types Logical Type de matrices Types de tableaux JSON Types et questions Données linguistiques Langue Langue Langue Langue Intégrité par défaut Création et suppression de tableaux Modification des tableaux Présentation Schémas de la base de données Demandes de contrôle Questions et tâches Demandes Sélectionnez Sélectionner une agrégation de communication et des sous-sols Vérifiez des questions et des tâches Changement de données Insertion des chaînes dans les tableaux de mise à jour de table dans les tables de mise à jour des rangées Tables Vérifiez les questions et les tâches

5 8 indices Indices Informations générales Indices sur plusieurs colonnes Indices uniques Expressions basées sur les indices partiels Questions de contrôle des indices partiels Questions et tâches Transaction Niveau d'isolation Lire la lecture non engagée Niveau d'isolation Enregistré Niveau d'isolation Reductable Exemple d'isolation de la transaction Questions et tâches Améliorer les performances Concepts de base Méthodes Viables Méthodes Pour former des ensembles de lignes d'optimisation des planificateurs de lignes de gestion des demandes, des questions et des tâches recommandées Sources 255 4

6 Introduction Actuellement, le terme "base de données" est connu de nombreuses personnes, même éloignées du développement professionnel des programmes informatiques. Les bases de données sont devenues une technologie très répandue, qui demandait, à son tour, plus de spécialistes capables de les concevoir et de les maintenir. Au cours de l'évolution de la théorie et de la pratique des bases de données, la norme de facto est devenue un modèle de données relationnel et dans le cadre de ce modèle, une langue de programmation spécialisée a également été formée, ce qui vous permet d'effectuer toutes les opérations nécessaires avec les données de Langue de requête structurée (SQL). Ainsi, une composante importante de la qualification d'un spécialiste du domaine de la base de données est la langue SQL. Ce manuel décrit les bases de la langue SQL est le cours de base. De plus, la langue est envisagée par rapport à un système de gestion de base de données spécifique (SGBD) PostgreSQL. La mise en œuvre de la langue SQL dans chaque SGBD est conforme à la norme à un degré ou à une autre, mais outre les fonctions et les opportunités normalisées, chaque SGBD offre son expansion de langue supplémentaire. PostgreSQL fournit un très bon support standard SQL et fournit également des fonctionnalités supplémentaires intéressantes et pratiquement utiles. L'un des principaux avantages de PostgreSQL est une extensibilité. Cela signifie, par exemple, que l'utilisateur (bien sûr, qui est un spécialiste des bases de données) peut développer ses propres types de données. Ces types de données auront toutes les propriétés des types de données intégrées et peuvent être entrés en fonctionnement sans arrêt de serveur. De plus, PostgreSQL est un produit open source gratuit, disponible sur un grand nombre de plates-formes. Le manuel aborde non seulement toutes les principales langues SQL, mais également d'autres questions, telles que des indices et des transactions. Le manuel est écrit de manière à ce qu'il puisse être utilisé à la fois sous la direction de l'enseignant et indépendamment. Il est supposé que les étudiants ont accès à la SGBD déjà installée, la procédure d'installation de PostgreSQL n'est donc pas prise en compte en détail, mais ne se réfère que pour trouver les instructions d'installation. Cette indemnité est destinée à obtenir des compétences pratiques pour utiliser la langue SQL. Le matériel de formation est appliqué de manière à ce que de nombreux lecteurs de connaissances importants doivent obtenir à la suite des tâches à la fin de chaque chapitre. Dans le texte principal des chapitres, ces connaissances peuvent ne pas être représentées. Il est supposé qu'une partie importante des tâches sera effectuée par le lecteur de manière indépendante à l'aide de la documentation du SGBD PostgreSQL, mais elle est souvent donnée aux instructions de leur mise en œuvre. Les tâches données dans le manuel diffèrent en termes de complexité. Les plus difficiles d'entre eux, ainsi que ceux nécessitant beaucoup de temps pour effectuer, sont marqués d'un astérisque. Les tâches peuvent être effectuées comme matériau de formation d'un chapitre spécifique. Cependant, certains d'entre eux ont donc une nature globale pour leur exécution, il est nécessaire d'étudier l'ensemble du chapitre ou, au moins plusieurs de ses sections. cinq

7 Bien que le manuel ait une orientation pratique et ce n'est pas un cours théorique, mais dans le premier chapitre brièvement, les concepts de base de la théorie des bases de données et du modèle relationnel sont présentés au niveau élémentaire. Cela se fait pour que les étudiants puissent procéder au développement pratique de la langue SQL sans délai, à partir des premiers jours du semestre de formation, même jusqu'au moment où ces concepts sont minutieusement examinés dans le cours de cours. Lors des facultés des technologies de l'information dans les universités russes, la base de données est traditionnellement étudiée en deuxième ou troisième année. De plus, cette discipline, en règle générale, est donnée à un semestre. Cependant, le nombre d'heures scolaires académiques peut varier. Si sur des classes pratiques sur cette discipline, le curriculum attribue 36 heures, puis nous recommandons la prochaine répartition du temps pour étudier le matériel de la prestation. Chapitre 1. Introduction aux bases de données et SQL Chapitre 2. Création d'un environnement de travail Chapitre 3. Opérations de base avec tableaux Chapitre 4. Types de données PostgreSQL Chapitre 5. Principes de base de la définition de données Chapitre 6. Demandes Chapitre 7. Modification des données Chapitre 8. Index CHAPITRE 9. Transactions Chapitre 10. Augmentation de la productivité 1 heure 1 heure 4 heures 4 heures 4 heures 8 heures 4 heures 2 heures 4 heures 4 heures 4 heures 4 heures 4 heures 3 heures peuvent être étudiées pour une leçon de deux heures, puisque le SGBD de deux heures, car le SGBD PostgreSQL doit déjà être installé dans la salle de classe à l'avance. Le chapitre 3 est un bref aperçu des principales capacités de la langue SQL, après l'avoir étudiée, les étudiants doivent imaginer des moyens simples d'utiliser toutes les langues principales. Ce chapitre n'est pas très complexe, mais volumétrique, donc quatre heures sont donnés à son étude. Le chapitre 4 est consacré à l'envoi des principaux types de données utilisées dans PostgreSQL. C'est un gros chapitre, mais il consiste en des tâches et des exercices. On suppose que les étudiants de quatre heures doivent apprendre uniquement les principales méthodes d'utilisation de types de données. Et pour que les connaissances soient enracinées, il est recommandé de faire référence au matériel de ce chapitre (y compris des exercices) dans le processus d'étude des chapitres restants du manuel, si nécessaire, clarifient certaines caractéristiques de l'application de types spécifiques. Pour distribuer le temps alloué à l'étude de ce chapitre, nous vous recommandons de procéder comme suit: Deux heures sur les quatre premiers types de types numériques et de chaînes, les types "Date / heure" et un type logique, deux heures de plus sur les tableaux et le type JSON / JSONB. Pour remplir les demandes de base de données, il est nécessaire de comprendre sa structure, les relations des tables. Par conséquent, le chapitre 5, qui examine la base de la langue de définition de données, est très important du point de vue de l'étude détaillée des tables de base de données "Transport aérien" et de la préparation du développement du chapitre 6. Depuis le matériel du chapitre est basé sur le fait que la base de données est déjà déployée sur un ordinateur d'un étudiant, puis entrez les commandes ne sont pas nécessaires pour créer des tables. Cela vous permet de réduire le temps passé à l'apprentissage du chapitre. Le manuel a adopté une approche, dans laquelle les commandes de définition de données sont d'abord envisagées, puis les commandes de manipulation de données. Par conséquent, le chapitre 5 "Principes de base du langage de définition de données" précède 6

8 Chapitre 6 "Demandes". Toutefois, l'approche choisie n'est pas mise en œuvre trop difficile: dans le chapitre 3, les équipes principales sont considérées, y compris des demandes simples. Et les demandes sont déjà une langue de manipulation de données. Pour l'étude du chapitre 5 pendant quatre heures. Au cours de la première leçon de deux heures, vous devez explorer les deux premiers paragraphes, qui incluent des problèmes tels que des limitations d'intégrité et la création et la suppression de tableaux. La deuxième occupation de deux heures doit être consacrée à l'étude des trois paragraphes restants. Ils sont référés à la modification des tables, ainsi que sur les représentations (vues) et les diagrammes de base de données. Le chapitre 6 est le responsable central de l'avantage, donc huit heures est donné à étudier, c'est-à-dire plus que sur l'étude d'autres chapitres. Il se compose de quatre paragraphes. Le premier d'entre eux est consacré à une variété de fonctionnalités supplémentaires de la commande SELECT. C'est notamment des choses telles que des suggestions de limite et de compensation, telles que l'opérateur et les expressions régulières dans les conditions de l'offre d'où et d'autres possibilités. Cependant, le matériau de ce paragraphe est simple, d'étudier cela suffit à allouer une heure. Le deuxième paragraphe explique comment connecter des tables. C'est un sujet plus complexe, pour l'étudier, il est nécessaire d'allouer deux heures. Le troisième paragraphe est consacré à l'agrégation et au regroupement. Il aborde un sujet aussi important et intéressant que les fonctions de fenêtre. Ce paragraphe nécessite également une leçon de deux heures. La section la plus difficile de ce chapitre est la quatrième. Il est dédié aux sous-requêtes. En particulier, un sujet aussi important et intéressant est couvert par des expressions classiques de tablier (expressions de table communes). Pour étudier le matériel de ce paragraphe, il est nécessaire d'allouer trois heures. Le chapitre 7 contient toutes les commandes conçues pour modifier les données: insérer des lignes, mettre à jour et les supprimer. Depuis lors aux chapitres précédents, ces équipes ont déjà été utilisées pour résoudre des tâches simples, ce chapitre discute des moyens plus complexes de les utiliser. Il a beaucoup d'exercices, ils constituent la moitié de son volume. Il est recommandé de payer deux heures pour étudier les méthodes d'insertion des chaînes dans le tableau et deux autres heures à prendre en compte les opérations de mise à jour et de suppression de lignes. Le chapitre 8 est consacré aux index, il est petit, il peut donc être trouvé avec elle pour une leçon de deux heures. Étant donné que les index sont étroitement liés aux problèmes de performance, c'est-à-dire la rapidité de l'exécution des demandes, il serait souhaitable après avoir étudié le dernier chapitre de retour au chapitre 8 et de voir les commandes et les demandes présentées, connaissant déjà la commande Explique. Le chapitre 9 est dédié aux transactions. Les mécanismes de leur exécution ont de nombreuses subtilités, donc lors de l'étude de ce chapitre, il est nécessaire d'expérimenter et d'essayer d'expliquer les résultats. Dans le dernier chapitre 10, les questions d'amélioration de la productivité sont considérées. Ce chapitre peut sembler trop abstrait et difficile pour le cours initial de la langue SQL, cependant, il est très important. Les étudiants doivent apprendre à lire les plans d'exécution de la requête et à comprendre la nomination de chaque opération présentée dans le plan. Et la maîtrise de l'optimisation des demandes nécessitera beaucoup de temps et d'expérience, elle ne viendra pas immédiatement. Si 54 heures sont données à des classes pratiques sur la discipline "Base de données" dans le programme d'études, vous pouvez modifier l'allocation proposée des horloges d'étude. En particulier, au chapitre 4, vous pouvez consacrer plus de temps aux types de données 7

9 JSON / JSONB et tableaux. Chapitre 6, vous pouvez envisager la fenêtre fonctionne plus en détail et des expressions de table générales. Lors de l'étude du chapitre 9, dédiée aux transactions, il serait souhaitable de développer une application simple dans laquelle les transactions seraient utilisées et effectueraient des expériences avec cette application, effectuant plusieurs sessions et modifiant les niveaux de niveaux d'isolation des transactions en parallèle. Dans le cadre du chapitre 10, il est logique de revenir aux commandes et aux demandes du chapitre 8 et à examiner leurs plans d'exécution avec la commande Explique. En raison du temps supplémentaire, vous pouvez envisager toutes les tâches et toutes les exercices d'une complexité accrue (marquée d'un astérisque). Ainsi, la distribution de temps peut être comme ceci: Chapitre 1. Introduction aux bases de données et SQL Chapitre 2. Création d'un environnement de travail Chapitre 3. Opérations de base avec tableaux Chapitre 4. Types de données PostgreSQL Chapitre 5. Principes de base du langage de définition de données Chapitre 6. Quertise Chapitre 7. Modification des données Chapitre 8. Indices Chapitre 9. Transactions Chapitre 10. Amélioration de la productivité 1 heure 1 heure 4 heures 6 heures 6 heures 6 heures 6 heures 4 heures 8 heures 6 heures dans le manuel, divers types de polices sont utilisés pour mettre en évidence fragments de texte en fonction de leur destination. Les commandes entrées par l'utilisateur à la fois dans l'environnement du système d'exploitation et le support utilitaire PSQL sont mis en évidence par Bold Monosine Police. Par exemple: PSQL -D Demo -U Postgres ou sélectionnez AVG (total_amount) des réservations; Les résultats de l'exploitation des commandes du système d'exploitation et des commandes SQL effectuées dans le support utilitaire PSQL sont imprimés par la police monosine. Par exemple, en réponse à l'exploration sélectionnée * de la commande aéronautique; Ce qui suit sera affiché: Plan de requête SEQ Scan sur les avions (Coût \u003d Rowk \u003d 9 Largeur \u003d 52) (1 ligne) Nous espérons que l'étude du matériau défini dans le manuel d'étude contribuera à accroître vos qualifications et votre expansion d'un professionnel. horizon. huit

10 1 Introduction aux bases de données et SQL Cette tête est introduite. En cela, nous raconterons les bases des bases de données, sur ce qu'un modèle relationnel est et pourquoi le langage SQL est nécessaire. Un sujet très important de ce chapitre sera une description de la matière, sur la base desquelles une base de données de formation sera conçue, qui servira de site à explorer SQL. Ce manuel est principalement destiné au développement pratique du langage SQL et de ne pas étudier la théorie des bases de données, donc pour étudier la théorie, il est nécessaire de contacter des sources autoritations, dont la liste est donnée à la fin de l'étude. Manuel. 1.1 Quelle est la base de données et pourquoi elles ont besoin de technologies de base de données n'existaient pas toujours. Cependant, avant leur introduction en pratique, les personnes ont également collecté et traité des données. L'une des méthodes de stockage était les fichiers dites plats (fichiers plats) qui possédaient une structure très simple: les données ont été stockées sous forme d'enregistrements divisés en champs de longueur fixe. Dans la vie réelle, des liens complexes qui doivent être transférés dans la base de données électronique entre les éléments de données se posent souvent. Lors de l'utilisation de fichiers plats, ces liens sont difficiles à organiser et encore plus difficiles à les maintenir lors de la modification et de la suppression des éléments de données individuels. L'un des concepts de base de la théorie de la base de données est un modèle de données. On peut dire qu'il caractérise la méthode d'organisation de données et les méthodes de base d'accès à ceux-ci. Au début, des modèles de données hiérarchiques et de réseau ont été proposés. Cependant, lors de l'évolution des théories et des idées, un modèle de données relationnel a été développé, qui est maintenant dominant. Par conséquent, des bases de données relationnelles sont actuellement dominées. Leur caractéristique est le fait que les données sont perçues par l'utilisateur comme une table. L'utilisateur dispose d'opérateurs pour sélectionner des données à partir de tables, ainsi que d'insérer de nouvelles données, de mises à jour et de supprimer les données disponibles. L'un des avantages de la base de données relationnelle est sa capacité à maintenir des liens entre les éléments de données, à éliminer le programmeur de la nécessité de faire face à cette routine et à ce travail très laborieux. À cette époque, lorsque les technologies de base de données relationnelles n'ont pas encore été répandues, les programmeurs ont dû mettre en œuvre manuellement ces opérations sur les langues de procédure, qui sont désormais appelé mise à jour de la mise à jour des clés externes ou en cascade des enregistrements de tables subordonnées (fichiers). Ici, le mot "manuellement" signifie que pour effectuer ces opérations, il était nécessaire d'écrire un code composé de commandes élémentaires, vous permettant d'accéder à chaque enregistrement mis à jour ou supprimé. Cette approche de travailler avec des bases de données a été appelée le programmateur de navigation spécifié l'algorithme de recherche d'enregistrement spécifique au programme. Nous donnons une situation simple à titre d'exemple: dans la base de données construite sur la base de fichiers, des informations sur les étudiants et leurs estimations de l'examen sont stockées et que les données personnelles des étudiants sont stockées dans un seul fichier, appelons-les conditionnellement "étudiants", et Évaluations d'examen dans un autre fichier, qui appellent conditionnellement "estimations". Si vous souhaitez supprimer des informations sur un étudiant spécifique et son examen 9

11 estimations, il devra non seulement effectuer le fonctionnement de la suppression d'une entrée spécifique du fichier "étudiants", mais organisera davantage une boucle pour rechercher et supprimer les enregistrements du fichier "évaluation" dans lequel le champ clé a la même valeur que le champ dans l'entrée supprimée du fichier "étudiants". Travailler avec des bases de données relationnelles, un programmeur est éliminé la programmation sur un niveau "atomique", car les langues modernes pour "communication" avec ces bases de données sont déclaratives. Cela signifie qu'il ne doit être obtenu que pour obtenir le résultat, mais il n'est pas nécessaire de prescrire un moyen d'obtenir le résultat, c'est-à-dire comment l'obtenir. Le système de base de données est un système informatisé pour stocker, traiter et émettre des informations sur la demande des utilisateurs. Un tel système inclut le logiciel et le matériel, les données elles-mêmes, ainsi que les utilisateurs. Les systèmes de base de données modernes sont généralement multijoueurs. Dans ces systèmes, plusieurs utilisateurs peuvent accéder immédiatement à la base de données. Le logiciel principal est le système de gestion de la base de données. En anglais, c'est appelé système de gestion de base de données (SGBD). Outre les SGBD, les systèmes de base de données peuvent inclure des utilitaires, des outils de développement d'applications (programmes), des outils de conception de bases de données, des générateurs de rapports, etc. Les utilisateurs disposant de systèmes de base de données sont divisés en un certain nombre de catégories. La première catégorie est appliquée des programmeurs. La deuxième catégorie est l'utilisateur final pour lequel tous les travaux sont effectués. Ils peuvent accéder à la base de données à l'aide de programmes d'application ou d'applications universelles incluses dans le logiciel. Dans la plupart des SGBM, il existe un processeur de langues dits de requête, ce qui permet à l'utilisateur de saisir une commande de langue de haut niveau (par exemple, la langue SQL). La troisième catégorie d'utilisateurs est les administrateurs de base de données. Leurs responsabilités incluent: Création d'une base de données, sélection de modes d'accès optimaux, délimitation des pouvoirs de divers utilisateurs à accéder à l'une ou à une autre information de la base de données, à effectuer une sauvegarde de la base de données, etc. Le système de base de données peut être divisé en deux composants principaux: serveur et ensemble client (ou interfaces externes). Le serveur est le SGBD. Les clients sont diverses applications écrites par des programmeurs d'application ou des applications intégrées fournies avec des SGBD. Un serveur peut servir beaucoup de clients. Les SGBD modernes incluent un dictionnaire des données. Cela fait partie de la base de données qui décrit les données elles-mêmes stockées. Le dictionnaire de données aide le SGBD à effectuer ses fonctions. 1.2 Les concepts de base du modèle relationnel dans chaque sphère technologique ont sa propre terminologie. Il existe des termes de base sur lesquels tous les raisons suivants sont basés. Ces termes à 10

12 sont également dans le domaine des bases de données. Maintenant, nous allons parler d'eux. À l'ère précédant la naissance de la théorie relationnelle, la base de données a été traditionnellement considérée comme un ensemble de fichiers composé d'enregistrements, et des enregistrements, ont été divisés en champs distincts. Le champ était une unité élémentaire de données. Dans des bases de données relationnelles, l'utilisateur perçoit des données sous forme de tables. Par conséquent, le terme "fichier" correspond au terme "tableau", au lieu du terme "enregistrement" utilise le terme "chaîne" et au lieu du terme "champ" "le terme" colonne "(ou" colonne "). Ainsi, les tables sont constituées de lignes et de colonnes, à l'intersection desquelles doivent être des valeurs "atomiques" qui ne peuvent pas être cassées en éléments plus petits sans perte de sens. Dans la théorie formelle des bases de données relationnelles, ces tableaux appellent des relations de données (relations) sont donc appelées relationnelles. L'attitude est un terme mathématique. Pour déterminer les propriétés de ces relations, la théorie des ensembles est utilisée. En ce qui concerne cette théorie de la chaîne de table s'appellera les tuples et les colonnes par attributs. L'attitude a un titre composé d'attributs et d'un corps constitué de tuples. Le nombre d'attributs est appelé le degré de relation et le nombre de tuples est un nombre fondamental. En plus de la théorie des ensembles, l'une des fondations de la théorie relationnelle est une partie de la logique mathématique que le calcul des prédicats. Ainsi, il existe trois groupes de termes dans la théorie et la pratique des bases de données. Parfois, les termes de différents groupes sont utilisés comme synonymes, tels que l'enregistrement et la chaîne. Comme nous l'avons déjà dit ci-dessus, l'utilisateur perçoit des données sous forme de tableaux dans des bases de données relationnelles. Considérons un système simple dans lequel seulement deux tables. Premiers "étudiants": comptage Book F. I. Série du document Numéro de document Ivanov Ivan Petrovich Klimov Andrei Ivanovich Novikov Nikolai Yuryovich et la seconde "Performance": Restauration Référencier École Scolaire Scole Score Physique 2016 / Mathématiques 2016 / Physique 2016 / Physique 2016 / Quand Travailler avec des bases de données, il est souvent nécessaire de suivre diverses restrictions pouvant être dus aux spécificités d'une zone particulière. Simplifier la situation réelle, prenez les restrictions suivantes: 11

13 Le nombre du livre de test est composé de cinq chiffres et ne peut être négatif (dans différentes universités, les différents numéros d'attribution de numéro sont utilisés, ces régimes peuvent être beaucoup plus compliqués par nous et peuvent prendre en compte, par exemple, l'année de l'admission de l'élève à l'université); Une série d'un document d'identité est un numéro à quatre chiffres et le nombre de documents certifiant le nombre à six chiffres; Le numéro du semestre ne peut prendre que deux valeurs de 1 (semestre d'automne) et 2 (semestre à ressort); L'évaluation ne peut prendre que trois valeurs 3 (satisfaisantes), 4 (bonnes) et 5 (excellente): d'autres estimations à exposer dans des livres de test ne sont pas acceptées. Pour identifier les chaînes dans les tables et les tables des tables sont utilisées pour communiquer les unes avec les autres. La clé potentielle est une combinaison d'un attribut de table qui vous permet d'identifier de manière unique les lignes. La clé peut consister et uniquement d'un attribut de la table. Par exemple, dans la table "Étudiants", un tel identifiant peut être l'attribut "numéro de livre de canculation". En tant que clé potentielle de ce tableau, les deux attributs, pris ensemble, peuvent également servir: "une série de documents d'identité" et "numéro de document de personnalité". Aucun d'entre eux ne peut être utilisé individuellement comme identifiant unique. Dans ce cas, la clé sera composite. Dans le même temps, il est important que la clé potentielle ne soit pas redondante, c'est-à-dire qu'aucun sous-ensemble d'attributs inclus ne devrait pas avoir la propriété de l'unicité. La clé potentielle, qui inclut les deux attributs mentionnés n'est pas redondante. Les touches sont nécessaires pour résoudre le niveau de ligne (entrées). S'il y a plus d'une clé potentielle dans la table, l'un d'entre eux est sélectionné comme clé primaire, et le reste sera des touches alternatives. Considérez les tables «étudiants» et «performance». Supposons que la table "étudiants" n'a pas de chaîne avec un certain nombre de livres de crédit 55900, alors il est logique d'inclure une chaîne avec un tel numéro de crédit dans le tableau "Accessibilité". Ainsi, les valeurs de la colonne "Numéro de carnet de canchement" dans la table "Accessibilité" doivent être convenues avec les valeurs de la même colonne de la table "Étudiants". L'attribut de numéro de livre de test dans la table "Accessibilité" est un exemple de ce qu'on appelle une clé externe. Une table contenant une clé externe s'appelle une table de référence (table de référencement). Une table contenant la clé de potentiel correspondante est appelée table référencée (table référencée). Dans de tels cas, il est dit que la clé externe fait référence à une clé potentielle dans la table de référence. La clé externe peut être composite, c'est-à-dire peut inclure plusieurs attributs. La clé externe n'est pas nécessaire pour être unique. Le problème est de s'assurer que la base de données ne contient pas de valeurs clés externes incorrectes, appelées problème d'intégrité de référence. La restriction selon laquelle les valeurs des touches externes doivent respecter les valeurs des touches potentielles sont appelées limite d'intégrité de référence (limite de référence). S'assurer que la mise en œuvre des limitations d'intégrité de référence est engagée dans le SGBD et le développeur nécessite uniquement de spécifier des attributs qui servent de 12 externes 12

14 clés. Lors de la conception de bases de données, il est souvent prévu que lors de la suppression d'une ligne d'une table de référence, les lignes correspondantes de la table de référence doivent également être supprimées et lorsque la valeur de la colonne est modifiée, les valeurs de clé externe dans la table de références Doit être changé. Cette approche s'appelle la suppression en cascade (mise à jour). Parfois, d'autres approches sont également appliquées. Par exemple, au lieu de supprimer des lignes d'une table de référence dans ces lignes, remplacez simplement les valeurs d'attribut incluses dans la touche externe, les valeurs soi-disant null. Ce sont des valeurs spéciales signifiant «rien» ou manque de valeur, ils ne coïncident pas avec la valeur «zéro» ou «chaîne vide». La valeur null est appliquée dans des bases de données et une valeur par défaut lorsque l'utilisateur n'a pas saisi de valeur spécifique. Les clés primaires ne peuvent pas contenir des valeurs nulelles. La transaction est l'un des concepts les plus importants de la théorie de la base de données. Cela signifie un ensemble d'opérations sur la base de données, considéré comme une unité de travail unique et indivisible, effectuée entièrement ou non effectuée du tout, si une défaillance s'est produite lors du processus de transaction. Ainsi, les transactions sont un moyen d'assurer la cohérence des données. Dans notre base de données, la transaction peut être, par exemple, deux opérations: Supprimer une chaîne de la table "Étudiants" et supprimer les lignes liées à la clé externe de la performance des performances. 1.3 Qu'est-ce que la langue SQL Language SQL est une langue peu spécifique qui est un outil standard qui travaille avec des données dans tous les SGBD relationnels. Les opérateurs (commandes) écrits dans cette langue n'indiquent que le SGBD, quel résultat doit être obtenu, mais ne décrivez pas la procédure d'obtention de ce résultat. Le DBMS lui-même détermine la méthode d'exécution de la commande utilisateur. Le langage SQL a traditionnellement attribué un groupe d'opérateurs de définition de données (DDL de définition de données DDL), un groupe d'opérateurs de manipulation de données et un groupe d'opérateurs qui gèrent les privilèges d'accès aux objets de base de données (DCL de langage de contrôle de données). Les opérateurs de langue de définition de données (DDL) incluent des commandes de création, de modification et de suppression de tables, de vues et d'autres objets de base de données. Les chapitres 5 et 8 sont dédiés à la prise en compte détaillée de ces commandes. Les opérateurs de langue de manipulation de données (DML) incluent des commandes de lignes d'échantillonnage des tables, d'insérer des lignes aux tables, des mises à jour et des chaînes de suppression. Ces commandes sont discutées en détail dans les chapitres 6 et 7. Les opérateurs de DCL dans le manuel ne sont pas pris en compte, car PostgreSQL permet au stade initial de l'apprentissage de la langue SQL à faire sans leur utilisation. 13

15 1.4 Description de la zone et une base de données de formation Pour afficher toutes les caractéristiques principales de la langue SQL, nous avons besoin d'une base de données. Cette base de données ne doit pas être trop compliquée que son étude ne nécessite pas trop de temps. Mais, en même temps, il doit être assez diversifié afin que cela lui demande ressemblerait, presque le même que dans le travail réel. En tant que domaine, nous choisissons le transport aérien de passagers. Sa description originale et sa description de la base de données "Transport aérien" se trouvent à Adresses et à Ru / Docs / Postgrespro / Current / Demodb-Bookings.html. Nous espérons que cette région est familière avec de nombreux lecteurs de notre manuel d'étude. Bien sûr, à des fins de formation, la situation réelle est intentionnellement simplifiée, mais toutes les principales choses sont préservées. Donc, une certaine compagnie aérienne russe effectue le transport aérien de passagers. Il possède sa flotte d'aéronefs de différents modèles. Chaque modèle de l'aéronef a un code spécifique qui est attribué à l'Association internationale des transporteurs aériens (IATA). Dans le même temps, nous supposons que l'avion d'un modèle a les mêmes mises en page des salons, c'est-à-dire l'ordre de placement des chaises et la numérotation de lieux dans les salons de la classe affaires et de la classe économique. Par exemple, s'il s'agit d'un modèle SUKHOI SUPERJET-100, le 2A Place fait référence à la classe d'entreprise et l'endroit est de 20D à la classe économique. La classe affaires et la classe économique sont une variété de classes de services. Notre compagnie aérienne sert des vols entre les aéroports en Russie. Chaque aéroport a été attribué à un code de trois lettres unique, tandis que seules les lettres majuscules de l'alphabet latin sont utilisées. Ces codes attribuent non la compagnie aérienne elle-même, mais des organisations spéciales qui gèrent le transport aérien de passagers. Souvent, le nom de l'aéroport ne coïncide pas avec le nom de la ville à laquelle appartient cet aéroport. Par exemple, dans la ville de Novosibirsk, l'aéroport s'appelle Tolmachevo, dans la ville d'Yekaterinburg Koltsovo et à Saint-Pétersbourg Pulkovo. De plus, certaines villes ont plus d'un aéroport. Immédiatement, Moscou se souvient d'un exemple avec ses aéroports Domodedovo, Sheremetyevo et Vnukovo. Nous ajoutons un autre détail important: chaque aéroport est caractérisé par des coordonnées géographiques de longue date et de ce dernier, ainsi que de fuseau horaire. Des itinéraires de vol sont formés entre les villes. Bien sûr, chaque itinéraire de ce type nécessite non seulement la ville, mais aussi l'aéroport, comme nous l'avons déjà dit, il peut y avoir plus d'un aéroport de la ville. En tant que simplification de la réalité, nous déciderons que les itinéraires n'auront pas d'atterrissage intermédiaire, t. e. Ils n'auront que départ à l'aéroport d'aéroport et de destination. Chaque route a un numéro à six chiffres, y compris des figures et des lettres de l'alphabet latin. Basé sur la liste des itinéraires, la planification de vol (ou les vols) est formée. Le programme indique l'heure prévue du départ et de l'heure d'arrivée prévue, ainsi que du type d'aéronef exécutant ce vol. Avec l'exécution réelle du vol, il est nécessaire de prendre en compte des informations supplémentaires, à savoir: l'heure actuelle du départ et l'heure d'arrivée réelle, ainsi que le statut du vol. Le statut de vol peut prendre un certain nombre de valeurs: 14

16 prévu (par mois la possibilité de réservation); À temps (l'inscription par nuit s'ouvre); Retardé (vol détenu); Quitté (volé); Arrivé (arrivé); Annulé (annulé). Maintenant, passons aux passagers. Le vol commence par une réservation de billet. Actuellement, la pratique généralement acceptée est la conception de billets électroniques. Chacune de ce billet a un numéro unique composé de 13 chiffres. Dans une procédure de réservation, plusieurs billets peuvent être composés, mais chacune de ces procédures a un nombre unique à six chiffres (chiffre) de la réservation constituée des lettres majuscules de l'alphabet et des chiffres latins. De plus, pour chaque procédure de réservation, une date de réservation est enregistrée et le coût total des billets émis est calculé. Sur chaque ticket, outre son numéro de treize chiffre, l'identifiant de passagers est enregistré, ainsi que son nom et son nom de famille (en transcription latine) et les coordonnées de contact. En tant qu'I de passager, le document d'identité est utilisé. Bien sûr, le passager peut changer son document, et parfois même le nom de famille et le nom, à l'époque qui passait entre des billets de réservation à des jours différents, il est donc impossible de dire que certains billets particuliers ont été décorés pour le même passager. Plus d'un vol peut être inscrit dans chaque billet électronique. Les spécialistes appellent ces segments d'enregistrement de vol. À titre d'exemple, la présence de plusieurs segments peut être donnée comme suit: Krasnoyarsk Moscou, Moscou Anapa, Anapa Moscou, Moscou Krasnoyarsk. Il est possible dans le cadre d'une réservation à émettre quelques billets sur divers passagers. Pour chaque voyage, le numéro de vol, les aéroports de départ et de destination, heure de départ et heure d'arrivée, ainsi que le coût du vol. En outre, la soi-disant classe de service est indiquée: économique, entreprise, etc. Lorsque le passager arrive à l'aéroport de départ et est enregistré un billet, le coupon dite de l'atterrissage est délivré. Ce billet est connecté au billet d'avion: le même numéro est indiqué dans Coquille, qui possède un billet d'avion électronique de ce passager. De plus, le numéro de vol est indiqué dans le coupon et la pièce de l'avion. Le numéro de couplage d'atterrissage est également indiqué par le numéro séquentiel attribué dans le processus d'enregistrement des billets pour ce vol. Rappelez-vous que chaque chaise de la cabine est conforme à une classe de service spécifique. Ces informations sont prises en compte lors de l'enregistrement de la billetterie et de la conception des coupons d'embarquement. Si, par exemple, le passager a acquis un billet avec une classe économique de service, puis dans son coupon d'atterrissage, il y aura un numéro de lieu dans le salon de la classe économique, mais pas dans la cabine de classe affaires. Après la description décrite de la zone, vous pouvez concevoir une base de données de modèle destinée à apprendre la langue SQL. Étant donné que notre didacticiel est principalement destiné à étudier le langage SQL, et non à maîtriser l'art de la conception de bases de données, nous ne donnerons qu'un graphique 15

17 réservations réservations aéroports # book_ref * book_date * total_amount # Airport_code * Nom de l'aéroport * Nom * Ville * Longitude * Latitude * Tableaux Timezone tickets # Ticket_no * Noms Passenger_Plights Contact_Data Ticket_flights HOPS # FARE_CONTIONS * Vols Vols # * planifié_departure * planifié_arrival * départ_airport * Arrivée_Airport * Statut * Statut * Aircraft_Code actuel_departure_DeParture Actual_arrival Aircrafts aéronefs # Aircraft_code * Modèle * Boarding_passes Boarding_passes Passe des sièges SIÈGES # SEAT_NO # AIRCOND_NO # SCHÉMA DE DONNÉE SEAT_NO * FARE_CONTIONS SCHEMA, qui montre essentiellement isolé dans le zone, ainsi que leur connexion et leurs attributs. Types de données spécifiques, clés primaires et externes, ainsi que des restrictions imposées sur des attributs et des tableaux, nous montrerons déjà dans les chapitres suivants dans le processus de prise en compte des commandes SQL destinées aux tables de création physique de la base de données. Le schéma ci-dessous peut être trouvé sur le site Web de Postgres Professional aux adresses spécifiées au début de cette section. Questions et tâches de contrôle 1. Quels groupes d'opérateurs sont alloués dans le cadre de la langue SQL? 2. Donnez la définition informelle des concepts de base du modèle de données relationnelles: attitude, tuple, attribut. 3. Pourquoi ai-je besoin de clés externes dans des tables relationnelles? 4. Quelle est une clé potentielle? 5. * Offrez un exemple de clé de potentiel excessive pour l'une des tables de la base de données de transport aérien et explique pourquoi elle est redondante. seize

18 6. * Dans la mise en œuvre actuelle de la base de données "Transport aérien", on suppose que les avions d'un modèle ne peuvent avoir qu'une seule disposition de la cabine. Imaginez que les dirigeants ont décidé de prendre en compte la possibilité d'avoir des mises en page différentes pour chaque modèle. Quelles tables devront modifier dans ce cas et comment? Avez-vous besoin de créer des tables supplémentaires? 17

19 2 Création d'un environnement de travail Avant de commencer à explorer directement SQL, vous devez accéder au serveur PostgreSQL. Cela peut être fait, par exemple, dans une classe d'ordinateur ou en se référant à un serveur distant via le terminal. Cependant, vous pouvez créer un environnement de travail pour vous-même et sur votre ordinateur local en définissant la version complète de PostgreSQL DBMS, c'est-à-dire Programmes de serveur et de clients. Dans ce cas, vous aurez beaucoup plus d'autorité à mettre en place et à utiliser PostgreSQL. Dans la dernière partie du chapitre, nous montrerons comment déployer une base de données de formation du «Transport aérien», rempli de données plausibles spécialement préparées. 2.1 Installation de la SGBD car le manuel de formation réel est destiné à étudier la langue SQL et non à la base de l'administration SQDRSQL SADMS, puis nous nous limiterons uniquement à de brèves instructions sur les instructions d'installation. Vous devez commencer par le choix de la distribution DBD que vous souhaitez installer. Vous pouvez choisir l'option d'origine PostgreSQL ou celle proposée par Postgres Professional. Il s'appelle Postgres Pro et contient non seulement toutes les fonctions et modules faisant partie de la distribution standard, mais également des développements supplémentaires fabriqués à Postgres Professional. Pour étudier les fondements du langage SQL, ces distributions conviennent également. Cependant, la documentation en russe n'est incluse que dans le Postgres Pro. Après avoir décidé d'une distribution SMDM spécifique, vous devez sélectionner le système d'exploitation. PostgreSQL prend en charge plusieurs systèmes, y compris diverses versions Linux, ainsi que des fenêtres. Il est recommandé d'établir la dernière version stable du SGBD. Si vous décidez d'utiliser la distribution PostgreSQL d'origine, vous pouvez trouver des instructions pour l'installer dans divers systèmes d'exploitation à l'adresse si vous choisissez la distribution Postgres Pro, puis vous devez contacter ici: Dernier. Après l'installation de PostgreSQL et Postgres Pro en mercredi, vous devrez prendre des mesures supplémentaires pour utiliser l'alphabet russe dans un terminal PSQL interactif ne causant pas de problèmes. L'utilitaire PSQL est consulté dans la section suivante. Pendant le processus d'installation, le compte utilisateur DBMS avec le nom Postgres sera créé. Pour explorer ce manuel, il n'est pas nécessaire de créer des comptes supplémentaires. dix-huit

20 Installation d'une distribution de PostgreSQL particulière, vous devez apprendre à exécuter le serveur de base de données, car sinon il est impossible de fonctionner avec les données. Comment le faire est décrit en détail dans la documentation de la section 18.3 "Exécuter le serveur de base de données". Vous pouvez trouver cette section à Current / Server-Start.html. Lors de l'installation du SGBD dans Windows, le service (service) est créé pour démarrer automatiquement le serveur PostgreSQL lorsque le système d'exploitation est chargé. Après avoir terminé le serveur avec le serveur, vous devez l'arrêter correctement (éteindre). La procédure d'une telle situation est décrite dans la documentation de la section 18.5 "Désactiver le serveur". Vous pouvez trouver cette section à PostgreSQL / 9.6 / Server-shutdown.html. 2.2 Programme PSQL Terminal Interactive PostgreSQL Pour accéder au serveur de base de données, le terminal interactif PSQL est inclus dans le PostgreSQL. Pour commencer, vous devez entrer la commande PSQL lorsque vous démarrez l'utilitaire PSQL dans l'environnement Windows, il est possible d'afficher de manière incorrecte les lettres de l'alphabet russe. Pour résoudre ce problème, il sera nécessaire dans les propriétés de la fenêtre dans laquelle PSQL est en cours d'exécution, modifiez la police à la console de lucida et utilisez la commande CHCP pour modifier la page Code actuelle du CP1251: CHCP 1251 dans l'environnement utilitaire PSQL, vous. Peut entrer non seulement les commandes de langue SQL, mais également diverses commandes de service, étayées par l'utilitaire lui-même. Pour obtenir une brève référence pour toutes les commandes de service, vous devez entrer \\? Beaucoup de telles commandes commencent par des caractères \\ d. Par exemple, afin d'afficher une liste de toutes tables et vues (Vues) créées dans la base de données à laquelle vous êtes maintenant connecté, entrez la commande \\ DT si vous êtes intéressé par la définition (simplement parler, la structure) de tout Table de base de données, par exemple, les étudiants, vous devez entrer la commande \\ D élèves pour obtenir la liste de toutes les commandes SQL, vous devez exécuter la commande \\ h pour sortir une commande SQL spécifique, par exemple, créer une table, vous devez avoir besoin de Faites ceci: \\ h Create Table 19

21 Cet utilitaire vous permet de réduire la quantité d'entrée manuelle en ajoutant la commande aux «forces» de PSQL entrées. Par exemple, lors de la saisie d'une commande SQL, vous pouvez utiliser la touche TAB pour ajouter la commande au mot-clé de commande ou le nom de la table de base de données. Par exemple, lorsque vous entrez dans la commande Créer une table ... Vous pouvez entrer des caractères "CR", appuyez sur la touche TAB PSQL complétera ce mot à "Créer". De même, vous pouvez faire avec la table de mots. Pour entrer, il suffit d'entrer uniquement les lettres "TA" et appuyez sur la touche TAB. Si vous avez entré trop de petites lettres afin que l'utilitaire PSQL puisse définitivement identifier le mot-clé, l'addition ne se produira pas. Mais dans ce cas, vous pouvez appuyer deux fois sur la touche TAB et obtenir une liste de tous les mots-clés commençant par la combinaison Trèfler que vous avez entrée. 2.3 Déploiement d'une base de données Après avoir terminé l'installation du serveur de base de données, nous pouvons aller directement à la question de savoir comment déployer dans votre cluster PostgreSQL la base de données de voyage aérienne préparée par Postgres Professional. Sur le site Web de la société, une section dédiée à cette base de données est disponible sur le lien qu'il est fourni dans trois versions qui ne diffèrent que dans la quantité de données: la version la plus compacte contient des données pendant un mois, le moyen- La version de la taille couvre une période de temps en trois mois et la version la plus complète comprend des données pour toute l'année. Toutes les données ont été générées à l'aide d'algorithmes spéciaux garantissant leur "croyance". Nous vous recommandons de commencer par une version compacte de la base de données "Air Transport" et, après avoir reçu une expérience de la rédaction de requêtes SQL, vous installez la version complète et vous pouvez mieux "sentir" différentes subtilités de travail avec de grands volumes, par exemple, par exemple, Évaluez l'effet des index accès aux données. En première étape du déploiement de la base de données, il est nécessaire de télécharger sa sauvegarde archivée sur la liaison ZIP. Ensuite, vous devez extraire le fichier de l'archive: Demo_small.zip Le fichier extrait est appelé Demo_small.sql. Nous allons maintenant créer une base de données avec le nom de démonstration de votre cluster PostgreSQL. La commande la plus courte ressemblera à ceci: psql -f démo_small.sql -u Postgres Si vous souhaitez rediriger la sortie de messages générant des SGMS pendant le fonctionnement, à partir de l'écran aux fichiers, vous pouvez le faire: psql -f demo_small.sql - u Postgres\u003e Demo.log 2\u003e Demo.err Vous pouvez diviser le périphérique de sortie standard et le périphérique de sortie d'erreur standard. Les messages conventionnels seront redirigés vers le fichier Demo.log et les messages d'erreur au fichier Demo.err. Veuillez noter qu'entre le numéro 2, qui indique la poignée du périphérique de sortie du message d'erreur standard, et le signe "\u003e", indiquant la redirection de la sortie, ne doit pas être un espace. vingt

22 Si vous êtes plus pratique de collecter tous les messages à un fichier commun, vous devez le faire: PSQL -F Demo_small.sql -u Postgres\u003e Demo.log 2\u003e & 1 Veuillez noter que toutes les expressions 2\u003e & 1 au La fin de l'équipe est écrite sans espaces. Il indique le système d'exploitation que les messages d'erreur doivent être dirigés là-bas, où des messages ordinaires sont affichés. Si notre fichier SQL était très important, vous pouvez exécuter la commande en arrière-plan, mettre le symbole "&" à la fin de la ligne de commande, et sur le déroulement du processus en temps réel consiste à regarder à l'aide de la commande de la queue. PSQL -F Demo_small.SQL -U Postgres\u003e Demo.log 2\u003e & 1 & Tail -f Demo.log Sélectionnez l'une des options de commande proposées pour le déploiement d'une base de données et exécuter cette commande. Tout est prêt! Vous pouvez vous connecter à une nouvelle base de données: PSQL -D Demo -U -U -U -U -U -U -U -U -U -UN Questions et tâches de contrôle 1. Effectuez le SGBD PostgreSQL dans l'environnement du système d'exploitation que vous avez sélectionné. 2. Familiarisez-vous avec l'utilitaire PSQL à l'aide de l'aide intégrée, ainsi que d'utiliser l'aide appelée par la commande PSQL -HELP 3. Outre l'utilitaire PSQL, il existe d'autres programmes universels pour travailler avec le serveur de base de données PostgreSQL. , par exemple, pgadmin. Ceci est un utilitaire puissant avec une interface graphique. Installez indépendamment le programme PGADMIN et lisez les principales techniques pour travailler avec elle. 4. Effectuez le déploiement de la base de données académique. Essayez de vous connecter à l'aide de l'utilitaire PSQL. Pour quitter l'utilitaire, utilisez la commande \\ q. 21

23 3 Opérations de base avec tables SQL Language est très diversifiée, elle comprend plusieurs commandes qui, à son tour, ont plusieurs fois avoir de nombreux paramètres et mots-clés. Mais commençons par une brève révision des principales capacités de la langue SQL. Dans ce chapitre, vous apprendrez à saisir des données dans la base de données, maîtriserez les principaux moyens d'obtenir des informations à partir de la base de données, c'est-à-dire des échantillons et apprenez également à modifier les informations stockées dans la base de données et supprimez ces données qui n'est plus Besoin. Dans la pratique de l'apprentissage des langues étrangères, il y a une bonne tradition. Déjà à la première occupation, l'étudiant étudie certaines structures et mots grammaticaux de base qui lui permettent de dire un peu plus simple, mais néanmoins, des phrases pratiquement utiles. Nous suivrons cette tradition. Dans cette section de notre manuel, vous vous familiariserez avec les commandes de base de langues SQL qui vous permettront d'effectuer des opérations de base. Et des commandes plus complexes (et intéressantes) que vous étudierez dans les chapitres suivants. Disons deux mots sur notre approche du travail. En principe, deux façons d'organiser le travail de l'étudiant (étudier) sont possibles. La première façon: un étudiant utilise une base de données qui contient déjà toutes les tables nécessaires et d'autres objets de base de données préparés à l'avance par l'auteur du manuel ou un autre spécialiste qualifié. Dans ce cas, un certain ensemble de données nécessaires est également entré dans le tableau, vous pouvez donc passer immédiatement à l'exécution des demandes de ces tables. La méthode décrite semble très attractive car elle nécessite moins d'efforts au stade initial de la maîtrise de la langue SQL. Cependant, à notre avis, une autre manière est plus correcte. Probablement, il est plus laborieux, mais lorsque vous l'utilisez, vous êtes meilleur, comme on dit, sentez le processus de création de tables et entrez des enregistrements à ces tableaux. Et effectuer diverses demandes de base de données, vous serez plus facile d'apprécier l'exactitude du résultat de l'exécution de la requête, car vous avez entré toutes les données par vous-même et vous pouvez donc raisonnablement assumer quels résultats vous attendez à voir à l'écran. Bien sûr, la première façon peut être très utile dans l'apprentissage de capacités de langue plus complexe, avancée et SQL, qui sont difficiles à comprendre sans utiliser de grandes matrices de données et de grandes tableaux de données entrent dans une base de données manuellement irrationnelle. Beaucoup plus rationnel sera leur formation automatique par programme. Au chapitre 1, nous avons décrit le sujet, nous pouvons donc maintenant procéder à la création directe de tables dans la base de données. Pour remplir toutes les commandes et opérations ultérieures, nous utiliserons l'utilitaire PSQL, qui est inclus dans l'approvisionnement standard de SGBD PostgreSQL. Sur votre ordinateur, la base de données de démonstration doit déjà être déployée. Le processus de création est décrit au chapitre 2. Exécutez maintenant l'utilitaire PSQL et connectez-vous à cette base de données avec le compte utilisateur Postgres: PSQL -D Demo -u Postgres pour créer des tables dans la langue SQL sert la commande Créer une table. Sa syntaxe complète est présentée dans la documentation de PostgreSQL et Syntaxe simplifiée: 22


Société Postgres Professional E. P. Morgunov Postgresql. Principes de base du tutoriel de langue SQL SAINT PETERSBURG "BHV-PETERSBURG" 2018 UDC 004.655 BBK 32.973.26-018.2 M79 MORGUNOV, E. P. M79 POSTGRESQL. Base

Langue SQL Lecture 6 indices E. P. Morgunov Sibérien State Université des sciences et de la technologie nommée d'après l'académicien M. F. Reshetnev G. Krasnoyarsk Institut d'informatique et de télécommunications [Email protégé]

Frères i.l. 41. Principes fondamentaux de la conception de la base de données. Méthodes de construction de la SGBD. SQL, exemples de mise en œuvre. Bases des bases de données modernes. 1. Définitions de base. Terminologie. Dans la littérature, vous pouvez rencontrer

Sujet 10. Principes de base de la technologie de la base de données La technologie de la base de données est l'une des principales réalisations de sciences informatiques utilisées pour construire des systèmes d'information informatique et des applications de mise en œuvre d'informations

Concepts de base de la base de données 1. Sélectionnez la procédure appropriée pour concevoir la DBA a) Résolution du problème de transmission de données B) Analyse du sujet, en tenant compte des exigences des utilisateurs finaux c)

Introduction Ce livre est destiné aux développeurs qui utilisent Oracle comme système de gestion de base de données (SGBD). Par conséquent, ce livre ne disparaît pas beaucoup d'espace pour examiner les problèmes,

Option 1 Sélectionnez l'option de réponse correcte. Une seule option de la bonne réponse est possible. 1. Système d'information est a) tout système de traitement d'informations B) Système de traitement d'informations sur le texte

SQL Lecture 3 Fondamentaux du langage de définition de données E. P. Morgunov Sibérien State Université des sciences et de la technologie nommée d'après l'académicien M. F. Reshetneva G. Krasnoyarsk Institut d'informatique et de télécommunications

LANGUE SQL Lecture 5 Changer de données E. P. Morgunov Sibérien State Université des sciences et de la technologie nommée d'après l'académicien MF Reshetneva G. Krasnoyarsk Institut d'informatique et de télécommunications [Email protégé]

➀ Systèmes d'information et banques de données. La condition la plus importante pour assurer le fonctionnement efficace de toute organisation est la disponibilité d'un système d'information développé. Système d'information est un système,

Chapitre 1. Mise en route Comment la structure de la conception de données de la base de données Microsoft Access Conception de la base de données Travailler avec une base de données intégrée à l'opération Accès d'interface personnalisée 2007 Réglage des éléments

Chapitre 3. Installation et démarrage des exigences et conditions de la version multijoueur ... 1 Procédure d'installation d'un SBI ++ sur le réseau ... 2 Installation et configuration d'un serveur et de client Pervasive.sql ... 3 Installation du programme .. . 4 Préparation

Tâches de test bancaire Tâches de discipline éducative Direction du niveau de préparation du département B1.B.12 Gestion des données 09.03.02 Systèmes d'information et technologies Bachelor de méthodes et de mesurer et d'automatisation

La base de données du développement d'équipements informatiques a été réalisée dans deux zones principales: l'utilisation d'équipements informatiques pour effectuer des calculs numériques; Utilisation de matériel informatique

Université technique de l'État de Moscou nommée d'après la succursale de N. E. Bauman Kaluga Yu. E. Gagarin, S. V. Ponomarev Application de la langue SQL dans MS Access Educational et méthodologique Manuel UDC 681.3.06 BBK 32.973

1. Informations et données 2. Concepts de base des systèmes avec des bases de données Information Les systèmes informatiques avec des bases de données sont des systèmes d'information, de mathématiques, de logiciels, de langue, d'organisation

PDM STEIT SUITE VERSION 5.0 INSTRUCTIONS D'INSTALLATION PDM STOCK INSTRUCTIONS POUR UN PROGRAMMUER SYSTÈME. Partie 1 AO Nic "Logistique appliquée" 2019 PDM Step Suite V.5.0. Instructions pour programmeur système

1 de 6 conférences 1. Architecture du système de base de données. Les fonctions de l'administrateur du système de base de données dans le système d'information de l'entreprise. Objets de base de données. 1.1. Architecture du système de base de données ANSI / SPARC ... 1

Contenu Introduction ... 3 1 Étude sur le sujet et régler le problème ... 4 2 Construire un modèle infologique ... 5 3 DataLog conception de la base de données ... 6 3.1 Sélection d'un système de contrôle

Dans les conditions modernes, dans l'automatisation des entreprises, il est nécessaire de traiter des exigences diverses et souvent opposées diamétralement opposées à la comptabilisation des mêmes partitions. Selon la documentation

Discipline pédagogique "Bases de données et gestion d'eux" pour les étudiants spécialisés Applied Informatique (premier cycle) 080800.62 Conférence 15 modèles d'organisation d'un accès aux bases de données salles de classe: 1. Architecture

SQL Lecture 7 Transactions E. P. Morgunov Siberian State Université des sciences et de la technologie nommée d'après l'académicien M. F. Reshetneva G. Krasnoyarsk Institut d'informatique et de télécommunications [Email protégé]

Module de technologies de l'information sur ordinateur 13. Caractéristiques générales de la DBMS Access 1 Tâches de module Après avoir étudié le module, vous pouvez: raconter la fonctionnalité de l'accès SGM; Connaître les caractéristiques

Système de gestion électronique de documents A R X et dans un R et U à partir du manuel d'installation Moscou, 2008 2 Abstrait Ce document décrit le kit de fournitures de logiciel "EUPHRATES-DOCUMENT

Bases de données (base de données). Systèmes de gestion de la base de données Dispositions générales L'objectif de tout système d'information est de traiter les données sur les objets du monde réel. Dans le sens large du mot, la base de données est un ensemble d'informations sur

Introduction à la base de données. Introduction à SQL. SUMY Educational Center Logiciels Assurance qualité (QA) NetCracker 2016 1 Vous en apprendrez sur les éléments suivants Qu'est-ce que la base de données de la base de données DBMS Clients DBMS

1.1. Principes de base de travail avec des bases de données 1.1.1. Bases de données et systèmes de gestion de base de données. La base de données de données de données (DB) est un ensemble nommé de données structurées liées à un certain

Il semble que c'était tout récemment, mais depuis lors, des changements importants sont arrivés! Au moment où l'auteur était engagé dans la préparation de la programmation Professional SQL Server 7.0 au début de 1999

Introduction à la théorie de la conférence de base de données 1 Plan de conférence Concepts de base Données Organisation des données Types de modulateurs de données Cassification de la base de données Classification DB Server 2008. Lecture 1 2 Concepts de base Server 2008. Conférence

Annexe 4 Sous-système de gestion de processus et table des matières 1. Informations générales ... 2 2. States de modélisation et flux de travail ... 2 2.1. Gestion de la liste des groupes d'états ... 2 2.2. Créature

Guide d'installation de SoftaCom CRM version 2.1. 1 "Guide d'installation SOCCOM CRM". Contient une description du processus d'installation du système. Contenu 1 Introduction ... 3 1.1 Généralités À propos de System ... 3 1.2 Caractéristiques

Travaux de laboratoire 4 "Création de connexions entre tableaux" Objectif: Étudier la technologie de la création d'une structure de base de données relationnelle dans Microsoft Office Access 2007 1. Mot d'information théorique court

Sujets de réservation logiques Logique et réservation physique Copie des tableaux spéciaux Réservation et base de données Restauration et cluster 2 types Réservation logique

Microsoft Access: Communication, champs calculés, créant une distribution à tonique Push-tonique BD. Communication de table Les bases de données modernes sont généralement constituées de nombreuses tables liées à l'autre. Un des objectifs de créer une bonne structure

DÉPARTEMENT DE DÉVELOPPEMENT DE L'UNIVERSITÉ DE L'AVIATION NATIONALE DU COURS DE TRAVAIL DU SUJET SUJET: DBMS Microsoft Access Création et traitement de la base de données Objectif: théoriquement et pratiquement maîtriser les techniques de travail principales

Transactions et accès simultané: comparaison des implémentations dans PostgreSQL et Oracle Egor Rogov, Postgres Professional Pourquoi est-ce tout? Résultat de la requête Pourquoi est-ce tout? Demande demande transaction atomicité tout

@ DB, CUD 1. Structure de données pour laquelle la subordination des objets de niveau inférieur est caractérisée par des objets de niveau supérieur, appelé A. Tableau B. Relationnel * c. Hiérarchique D. Réseau 2. Distinctif

Guide d'installation de Vogbit 2010 Table des matières Introduction ... 4 Exigences relatives au logiciel et au matériel ... 5 Séquence d'installation ... 6 Installation du programme ... 7 Demander et demander une licence ...

Les étapes de développement de bases de données avec des bases de données, en règle générale, ne fonctionnent pas, vous pouvez donc formuler les exigences suivantes pour la base de données. Les développeurs, lors de la création d'une base de données, devraient se concentrer sur ces

Le système de gestion de la base de données Access a terminé Nazalgul Niyazovna Chibinet, étudiant de la Faculté des langues étrangères de l'Institut d'Elabuga de l'Université fédérale de Kazan (promotion). Scientifique

Conférence informatique 5 MS Access Information Systèmes Applications de stockage, de réapprovisionnement, de montage et d'utilisation de volumes de données volumineux Accès intelligent utilisable

Table des matières Préface ... 3 heures et C T B I. Base de données, DBMS et modèles de données Chapitre 1. Objet de la technologie de la base de données. Fonctions et composants de base des systèmes de gestion de base de données ..............................................

Laboratoire de suivi et d'automatisation du processus éducatif. Guide du support de l'administrateur du site pour le processus éducatif. Edition 3 du 12/18/15. Korotkov D.S., Zaurk I.O. Activer désactiver

Chapitre 6 Théorie de la base de données 6.1. Concepts généraux 6.2. Modèles de données 6.3. Bases de données relationnelles 6.4. Retarder des modèles et des bases de données 6.5. Conception de la base de données Systèmes d'information modernes,

Travaux de laboratoire 9 Enquête sur les capacités de Microsoft Access 2007 sur la formation de demandes à l'aide de SQL. Objectif: 1. Étudier l'ordre de former des demandes à l'aide de SQL dans Microsoft Access

Complexe de la préparation des documents d'information sur la navigation aérienne Création d'une base de données de données de navigation aérienne Dispositions générales La principale source d'informations de navigation aérienne du complexe est la base relationnelle de la navigation aérienne.

1. Moyens estimés de contrôle de courant. Questions soumises à l'enquête (à discussion) Sections de la discipline académique: Section 1. Saisie de données dans les banques 1. Concept de banque de données (BND). Composants BND. 1.1. Informations

Conférence 2 1 Via Dictionnaire: Systèmes d'information Système d'architecture Système d'information ordonnée de manière organisationnelle Ensemble de documents (numéros de documents) et technologies de l'information, y compris en utilisant

J. Buman, S. Emerson, M.Karnovsky Pratique SQL Guide de ce livre aidera même dans les cas où le meilleur manuel d'utilisation est inutile. Voici des sujets révélés qui sont souvent ignorés

Le système de gestion de documents électroniques A R X et dans un R et U avec le guide d'installation Moscou, 2009 2 Abstract Ce document décrit les fournitures de logiciels du document EUPHRATES.

Avez-vous aimé l'article? Partager avec des amis: