SQL pour les professionnels et pour les simples mortels. Quels sujets ne sont pas abordés ?

Bonjour, je présente à votre attention un autre livre numérique " Oracle PL/SQL. Pour les professionnels (6e éd.)". Ce livre est guide détaillé en PL/SQL, qui est une extension du langage procédural pour SQL. Il examine en détail les bases de PL/SQL, la structure du programme, les principes de base du travail avec les données du programme, ainsi que les méthodes d'utilisation des opérateurs et des instructions pour accéder aux bases de données relationnelles. Beaucoup d'attention se concentre sur les problèmes de sécurité, l'impact des technologies objet sur PL/SQL et l'intégration de PL/SQL avec XML et Java. Au cours des 18 dernières années de parution de ce livre, il est devenu le guide indispensable du PL/SQL pour des centaines de milliers de programmeurs, débutants et professionnels. La sixième édition du livre est entièrement mise à jour pour la version Oracle12

Description d'Oracle PL/SQL. Pour les professionnels (6e éd.)

Année de publication : 2015
Auteurs : Feuerstein S., Pribyl B.
Traducteur : Matveev E.
Genre ou thème: Programmation
Éditeur : Pierre
ISBN : 978-5-496-01152-5, 978-1-4493-2445-2
Série : Les meilleures ventes d'O'Reilly
Langue : Russe
Format : PDF
Qualité : mise en page ou texte de publication (livre électronique)
Table des matières interactive: Oui
Nombre de pages: 1024

  • Partie I : Programmation en PL/SQL
  • Chapitre 1 : Introduction à PL/SQL
  • Chapitre 2 : Écriture et exécution de code PL/SQL
  • Chapitre 3. Bases du langage
  • Partie II. Structure du programme PL/SQL
  • Chapitre 4. Commandes et branches conditionnelles
  • Chapitre 5. Cycles
  • Chapitre 6 : Gestion des exceptions
  • Partie III. Travailler avec des données en PL/SQL
  • Chapitre 7. Travailler avec des données dans des programmes
  • Chapitre 8. Chaînes
  • Chapitre 9. Les nombres
  • Chapitre 10. Date et heure
  • Chapitre 11. Dossiers
  • Chapitre 12. Collections
  • Chapitre 13. Autres types de données
  • Partie IV. SQL et PL/SQL
  • Chapitre 14. DML et gestion des transactions
  • Chapitre 15. Échantillonnage des données
  • Chapitre 16. SQL dynamique et PL/SQL dynamique
  • Partie V : Création d'applications PL/SQL
  • Chapitre 17. Procédures, fonctions et paramètres
  • Chapitre 18. Forfaits
  • Chapitre 19. Déclencheurs
  • Chapitre 20 : Gestion des applications PL/SQL
  • Chapitre 21 : Optimisation des applications PL/SQL
  • Chapitre 22. E/S en PL/SQL
  • Partie VI. Fonctionnalités spéciales de PL/SQL
  • Chapitre 23. Sécurité et PL/SQL
  • Chapitre 24. Architecture PL/SQL
  • Chapitre 25. Globalisation et localisation en PL/SQL
  • Chapitre 26. Fonctionnalités orientées objet de PL/SQL
  • Chapitre 27. Appel de programmes Java à partir de PL/SQL
  • Chapitre 28. Procédures externes
  • Annexe A. Paramètres de fonction et métacaractères d'expression régulière
  • Annexe B : Formats numériques
  • Annexe B : Masque de format de date
Joe Selko

SQL pour les professionnels. Programmation
M:. Maison d'édition "Lori" (), 456 pp., 70x100/16, 2004, édition 1500, ISBN 5-85582-219-2,
traducteur I. Afanasyev, rédacteur scientifique A. Vendrov.

Traduction : SQL pour les smarties : programmation SQL avancée. Deuxième édition. Joe Selco. Éditeurs Morgan Kaufmann, San Francisco, 2000, ISBN-0-55860-576-2

M.J. Hernández, J.L. Viescas

Requêtes SQL pour les simples mortels.
Guide pratique sur la manipulation de données en SQL
M:. Maison d'édition "Lori" (), 480 pp., 70x100/16, 2004, numéro 3200, ISBN 5-85582-178-1,
traducteurs A. Golovko, rédacteur scientifique A. Kiseleva.
Résumé de la maison d'édition « Lori » :

Traduction: Requêtes SQL pour les simples mortels. Un guide pratique sur la manipulation de données dans SQL, par Michael J. Hernandez, John L. Viescas. ADDISON-WESLEY, Pearson Education, 2000, ISBN-0-201-43336-2


Il y a un an, dans la revue « SQL et SQLJ - deux marches de la même échelle », nous avons parlé de livres écrits sur le premier (« Requêtes SQL pour les simples mortels ») et l'un des meilleurs (« ORACLE9i. Programmation en Langage SQL J") étapes de l'échelle de programmation technologique lors du développement d'applications dans des langages non procéduraux, à savoir SQL. Aujourd'hui, une autre étape du livre s'ajoute à cette échelle : « Programmation SQL pour les professionnels ». Et comme cette « étape » fait suite au cours initial sur le langage SQL, afin de développer et de montrer en quoi « ... pour les professionnels » diffère de « ... pour les simples mortels », nous avons trouvé possible de répéter dans cet opus plusieurs phrases finales résultant d'une ancienne revue sur la première étape de la programmation SQL.

Ainsi, « Requêtes SQL pour les simples mortels » est un manuel qui peut également être utilisé comme référence pour langue de base SQL, ou plutôt, par son instruction SQL SELECT la plus « belle » et la plus puissante. Ce n'est pas pour rien que le livre s'appelle « Requêtes SQL pour les simples mortels », et une requête SQL est une proposition de sélection d'enregistrements dans une base de données, c'est-à-dire SELECT. Il est rare de voir un développement aussi approfondi, détaillé et cohérent d’un sujet. De nombreux exemples de conversion de requêtes d'une langue vivante (anglais) vers le langage de programme des instructions SELECT sont un plaisir à lire et devraient apaiser toute inquiétude des débutants en termes de complexité ou de complexité. Les développeurs expérimentés seront sans aucun doute principalement attirés par les chapitres sur les jointures internes (Chapitre 8) et externes (Chapitre 9). Les développeurs Oracle doivent être immédiatement avertis que le livre utilise le langage SQL standard ANSI, dans lequel la syntaxe des données internes et connexions externes(LEFT/RIGHT/FULL OUTER Join, INNER JOIN) est légèrement différente de la syntaxe adoptée dans SQL d'Oracle. Ces différences ne sont pas significatives dans Oracle 9iR2.

Pour ceux qui s'intéressent aux différences entre la syntaxe des jointures internes et externes, nous renvoyons Jim Czuprynski à l'article « Obtenir ANSI à propos des jointures » (http://www.databasejournal.com/features/oracle/article.php/2209301).

Il semble qu'il n'existe pas encore dans la littérature de programmation en russe un livre de près de 500 pages consacré presque exclusivement à un seul opérateur, à savoir SELECT. Cela peut être considéré comme une certaine difficulté pour les débutants - après tout, le langage SQL se compose non seulement de l'instruction SELECT, mais aussi des langages de manipulation de données eux-mêmes (DML avec les opérateurs INSERT, UPDATE, DELETE), de définition de données. (DDL avec les opérateurs CREATE, ALTER, DROP,...), Data Management (DCL avec les opérateurs COMMIT, ROLLBACK, SET, ...) il n'y a pas un mot dans le texte du livre. Pour être honnête, notons que cela n'est pas surprenant - après tout, la complexité de l'instruction SELECT dépasse la complexité de toutes les autres instructions de manipulation de données combinées (INSERT, UPDATE, DELETE), qui, à leur tour, peuvent inclure des sous-requêtes SELECT.

La revue complète « SQL et SQLJ - deux étapes de la même échelle » se trouve sur http://www.oracle.com/global/ru/oramag/aug2003/general_lory_sql.html, et le résumé et le contenu complet du livre sont à).

Passons maintenant au principal sujet de réflexion - le livre de Joe Selko "".

D'emblée, nous devons répéter l'avertissement ci-dessus selon lequel ce livre, comme SQL Queries for Mere Mortals, concerne le langage SQL dans les normes ANSI SQL-89 et SQL-92, qui diffèrent du langage SQL adopté par, par exemple, dans les bases de données Oracle. SQL d'Oracle, d'une part, étend la norme ANSI et, d'autre part, ne contient pas toujours absolument toutes ses constructions. C'est pourquoi le livre de Joe Selko convient à tous les professionnels de SQL, qu'ils soient développeurs d'applications ou administrateurs de toutes les bases de données SQL (pas seulement Oracle). Nous sommes convaincus que tout professionnel qui utilise SQL verra, sans trop de difficulté ni d'irritation, les différentes conceptions de la norme et l'implémentation spécifique utilisée, sera capable de les surmonter dans son travail, et sera parfois ravi (comme dans le cas d'Oracle Database) avec des extensions qui vont au-delà du standard .

« On suppose que le lecteur dispose d'au moins un an travaux pratiques". - Dans le tout premier paragraphe de l'introduction, Joe Silko précise que son livre est « destiné aux programmeurs SQL qui souhaitent améliorer leurs connaissances en maîtrisant les nouvelles technologies et techniques de programmation ». Par conséquent, en omettant les dispositions introductives, historiques, explicatives et, pour ainsi dire, « simples » inhérentes à de nombreux autres livres, l'auteur entame immédiatement une conversation professionnelle avec le lecteur dans un langage technique clair et compréhensible. (Et les critiques ajouteront que le langage du livre est hautement littéraire, ce qui doit être attribué non seulement à son auteur, mais aussi au traducteur et aux éditeurs du livre.) Par exemple, sur trois pages de « l'Introduction », le L'auteur a clairement et très brièvement décrit les différences entre les langages procéduraux et non procéduraux (SQL), ainsi que leurs « conseils de programmation », définissant ainsi le niveau de familiarité avec le sujet sur lequel les lecteurs doivent se concentrer. Le livre commence par « Conception de base de données », où les concepts de base sont nommés et définis (schéma, table (et instructions DDL associées), colonnes (et restrictions sur celles-ci), ...), mais même cela est, pour ainsi dire, obligatoire pour tout SQL Le texte du livre contient des surlignages. Par exemple, les différences entre les fichiers et les tables (tous les lecteurs ne sont pas des administrateurs de base de données Oracle, pour qui cela doit être gravé dans leur conscience une fois pour toutes) ou « Une note concernant les lignes en double ».

Le deuxième chapitre, « Normalisation », est un véritable moment fort du livre, où sur un peu plus de vingt pages il contient :

  • première forme normale (1NF) ;
  • deuxième forme normale (2NF) ;
  • troisième forme normale (3NF) ;
  • Outils CASE pour la normalisation ;
  • Forme normale de Boyce-Codd (BCNF) ;
  • quatrième forme normale (4NF);
  • cinquième forme normale (5 NF) ;
  • forme normale de clé de domaine (DKNF) ;
  • conseils pratiques sur la normalisation;
  • conseils pratiques sur la dénormalisation.
Tous nos lecteurs pourront-ils s'en souvenir formes normales?! Eh bien, disons que pour la majorité, cela n'est peut-être pas nécessaire, mais à notre avis, il est nécessaire de connaître la source où elle est décrite de manière claire, compréhensible et brève.
Bien entendu, l'ampleur de la revue ne permet pas de présenter chaque chapitre avec autant de détails, mais il suffit de lister les noms de certaines sections pour que le lecteur « qui souhaite approfondir ses connaissances », à qui le livre est destiné , comprend quelles connaissances puissantes il contient, quelles informations il peut glaner.
  • « Données numériques en langage SQL », « Types de données temporelles au standard SQL », « Types de données caractères en SQL » ;
  • "Valeurs nulles - Données manquantes dans SQL" – nous parlons deà propos des valeurs nulles ;
  • « Comparaisons ou opérations thêta » ;
  • « Prédicats de valeur », « Prédicats LIKE et SIMILAR », « Prédicats BETWEEN et OVERLAPS », « Prédicat IN », « Prédicat EXISTS() » ;
  • « Prédicats de sous-requête quantifiés » ;
  • « Vues et tables temporaires » ;
  • « Fonctions d'agrégation » ;
  • « Traitement statistique de l'information en SQL » ;
  • « Structures de tableaux en SQL » ;
  • « Opérations avec des ensembles », « Sous-ensembles » ;
  • « Modèle d'une liste de sommets d'arbres adjacents en SQL » et « Modèle d'ensembles d'arbres imbriqués en SQL » ;
  • "Graphiques en SQL"
- un total de 31 chapitres de 10 à 20 pages chacun (le plus gros chapitre fait bien sûr 40 pages, « The SELECT Statement »).

Plusieurs fois dans le livre, ils sont cités et comparés diverses solutions la même tâche, ce qui rend son travail passionnant et encore plus éducatif. Par exemple, « le problème de l'attribution des salles de classe aux groupes d'étude (class_size< room_size)» cначала решается как бы обычным образом, а потом приводятся «Хорватское решение», «Шведское решение» и «Колумбийское решение» (стр. 210-218). Читая книгу, бросается в глаза, что в ней очень часты ссылки на основополагающие работы Э.Кодда (E.Codd), К.Дейта (K.Date) и др. При этом автор иногда спорит с авторитетами, приводя exemples spécifiques insuffisance des constructions théoriques classiques bases de données relationnelles données, par exemple, dans la « Remarque sur les lignes en double » déjà mentionnée.

Comme au « bon vieux temps » d'un ouvrage scientifique, « SQL for Professionals » consacre près de 20 pages à une bibliographie, des références et un index de la littérature recommandée. Il est bien entendu dommage que la limite supérieure soit limitée à 2000, car au cours des dernières années, le nombre de livres sur la programmation a été multiplié par plusieurs. Mais il faut supposer que le premier livre en russe de Joe Selko n’est pas le dernier et, si l’on se fie à la ponctualité de l’auteur, on peut espérer un index bibliographique complet la prochaine fois.

Une critique doit parler non seulement des mérites d’une œuvre, mais aussi de ses défauts. Il est peu probable qu’ils soient aussi nombreux, mais il faut tout de même noter une maladresse gênante. Citation (p. 13) : « Oracle vous permet d'utiliser l'adresse physique d'une ligne sur votre disque dur - il s'agit d'une variable spéciale appelée ROWID... Cependant, cette implémentation structure physique au niveau logique nécessite l'utilisation de lignes pleines pour les lignes du tableau espace disque. Cela conduit à l’impossibilité de travailler avec des bases de données hachées et distribuées,… ou à l’impossibilité de mettre en œuvre de nouvelles technologies pour travailler avec des bases de données à gros volume (VLDB). En fait, il s'agit d'un manque de connaissance tellement important de l'architecture de base de données du SGBD Oracle que l'on devrait très probablement se rendre coupable d'une traduction incorrecte, mais ce même passage pointe vers ceux extensions utiles(comme la pseudo-colonne ROWID) qu'Oracle a introduit dans son implémentation SQL.

Conclusion générale : le livre de Joe Selko « SQL Programming for Professionals » est très utile pour tous les développeurs d'applications SQL travaillant sur une grande variété de bases de données SQL : Oracle, Sybase, MS Serveur SQL et bien d'autres. Il convient particulièrement de le recommander aux enseignants des disciplines de programmation des universités et aux étudiants seniors, car les solutions SQL et autres problèmes présentés dans le livre ne dépendent pas d'être liés à des SGBD spécifiques, mais sont considérés dans leur essence conceptuelle.


Victor Abramov,
rédacteur scientifique de "Oracle Magazine/ Russian Edition"
Anatoly Bachin,
rédacteur en chef de "Oracle Magazine/édition russe"

Programmation Oracle PL/SQL a été une référence indispensable pour les développeurs PL/SQL débutants et expérimentés depuis sa première édition. Maintenant dans sa troisième édition, le livre a été entièrement révisé et mis à jour pour inclure les dernières versions d'Oracle - Oracle8i et Oracle9i - les « bases de données Internet » qui communiquent avec d'autres technologies, telles que Java, pour exécuter de puissantes applications de commerce électronique. Oracle a apporté des modifications substantielles au langage PL/SQL, et les développeurs souhaitant profiter pleinement de sa puissance trouveront les informations dont ils ont besoin dans ce livre. Rédigée par Steven Feuerstein et Bill Pribyl, experts renommés en PL/SQL, la nouvelle édition du livre inclut toutes les fonctionnalités du langage PL/SQL jusqu'à et y compris Oracle 9i Release 2 (9.2). Quelle que soit la version que vous utilisez, d'Oracle 7.3.4 à Oracle 9i, ce livre répondra à vos questions. En outre, Programmation Oracle PL/SQL contient désormais de nouveaux chapitres très demandés sur les déclencheurs Oracle, l'architecture interne de PL/SQL dans la base de données Oracle et l'utilisation de PL/SQL avec Java. Les auteurs ont soigneusement construit chaque chapitre de cette nouvelle édition avec trois objectifs : vous aider à tirer pleinement parti de PL/SQL, apprendre à utiliser PL/SQL pour résoudre vos problèmes et écrire du code efficace et maintenable.

Examen d'Amazon.com Si vous développez des applications de base de données dans l'environnement Oracle, vous devrez connaître PL/SQL, le langage étendu de requête et de mise à jour de l'entreprise. Si vous souhaitez que vos programmes exploitent les capacités spéciales du logiciel Oracle, vous "Il faudra bien connaître la langue. C'est là que la troisième édition de Programmation Oracle PL/SQL entre en jeu. Il s'agit d'une référence absolument complète (ainsi qu'un tutoriel assez complet) sur PL/SQL, idéale pour répondre à vos questions sur la façon d'effectuer certaines tâches de programmation et pour vous rappeler les caractéristiques des fonctions, des déclencheurs et d'autres éléments du boîte à outils du programmeur de base de données. La nouvelle édition couvre les appels aux méthodes Java à partir de programmes PL/SQL, les transactions autonomes, l'héritage de type d'objet et les nouveaux types de données Timestamp et XMLType. Il y a également plus d'informations sur les composants internes du serveur (la façon dont les programmes PL/SQL sont exécutés) qu'avant, ce qui permet aux lecteurs de mieux les optimiser. code pour exécution rapide et sûre.

Steven Feuerstein prend soin d'expliquer, avec de la prose et des exemples de code, les caractéristiques des éléments PL/SQL. En expliquant les conversions de nombres, par exemple, il explore les différentes manières d'Oracle de formater les nombres, puis détaille le comportement de la fonction to_number dans différentes conditions (avec et sans un modèle de format spécifié et avec les informations de prise en charge des langues nationales jointes). C'est une approche utile qui permettra aux lecteurs d'utiliser l'index pour localiser les endroits dans lesquels Feuerstein mentionne des éléments linguistiques d'intérêt. --David Mur

Thèmes abordés : Comment utiliser Oracle PL/SQL dans toutes ses manifestations via Oracle9 je. Les principes fondamentaux de la structure du programme (boucles, cas, exceptions, etc.) et de son exécution retiennent l'attention, tout comme les types de données, la gestion des transactions, les déclencheurs et les aspects orientés objet du langage. Les appels à des programmes Java et C externes sont également couverts.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :