CODASYL: История разработки COBOL и модели данных CODASYL
CODASYL
CODASYL: разработка COBOL и стандартов языков программирования в 1959 году. Консорциум для эффективного анализа и проектирования данных. История и влияние.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
CODASYL, Конференция/Комитет по языкам систем обработки данных, был консорциумом, образованным в 1959 году для направления разработки стандартного языка программирования, который можно было бы использовать на различных компьютерах. Эта работа привела к созданию языка программирования COBOL, модели данных CODASYL и других технических стандартов. В состав CODASYL входили специалисты из промышленности и государственных органов, занимающиеся обработкой данных. Более масштабной целью организации было продвижение более эффективного анализа, проектирования и реализации систем данных. На протяжении многих лет организация публиковала спецификации для различных языков, передавая их официальным органам по стандартизации (ISO, ANSI или их предшественникам) для официального утверждения в качестве стандартов.
CODASYL, the Conference/Committee on Data Systems Languages, was a consortium formed in 1959 to guide the development of a standard programming language that could be used on many computers. This effort led to the development of the programming language COBOL, the CODASYL Data Model, and other technical standards. CODASYL's members were individuals from industry and government involved in data processing activity. Its larger goal was to promote more effective data systems analysis, design, and implementation. The organization published specifications for various languages over the years, handing these over to official standards bodies (ISO, ANSI, or their predecessors) for formal standardization.
История
CODASYL запомнился почти исключительно двумя видами деятельности: его работой над разработкой языка COBOL и деятельностью в области стандартизации интерфейсов баз данных. Он также работал над широким кругом других тем, включая интерфейсы форм для конечных пользователей и языки управления операционными системами, но эти проекты оказали мало долгосрочного влияния. Остальная часть этого раздела посвящена деятельности CODASYL в области баз данных. В 1965 году CODASYL сформировал целевую группу по обработке списков. Эта группа была создана для разработки расширений языка COBOL для обработки коллекций записей; название возникло потому, что система IDS Чарльза Бахмана (которая была основным техническим вкладом в проект) управляла связями между записями с использованием цепочек указателей. В 1967 году группа переименовала себя в Data Base Task Group (DBTG), а её первый доклад в январе 1968 года был озаглавлен «COBOL extensions to handle databases». В октябре 1969 года DBTG опубликовала свои первые спецификации языка для модели сетевой базы данных, которая стала широко известна как модель данных CODASYL. Эта спецификация фактически определяла несколько отдельных языков: язык определения данных (DDL) для определения схемы базы данных, другой DDL для создания одной или нескольких подсхем, определяющих представления приложений базы данных; и язык манипулирования данными (DML), определяющий команды для встраивания в язык программирования COBOL для запроса и обновления данных в базе данных. Хотя работа была сосредоточена на COBOL, идея базы данных, независимой от языка хоста, начала формироваться, чему способствовала поддержка IBM языка PL/I в качестве замены COBOL. В 1971 году, в основном в ответ на необходимость независимости от языка программирования, работа была реорганизована: разработка языка описания данных была продолжена Комитетом по языку описания данных, а COBOL DML была передана комитету языка COBOL. Оглядываясь назад, можно сказать, что это разделение имело неблагоприятные последствия. Обе группы так и не смогли синхронизировать свои спецификации, оставив поставщикам задачу устранения расхождений. Неизбежным следствием этого стало отсутствие совместимости между реализациями. Ряд поставщиков реализовали продукты баз данных, соответствующие (приблизительно) спецификациям DBTG: наиболее известными реализациями были Honeywell's — первоначально General Electric's — Integrated Data Store (IDS/2), HP's IMAGE, Cullinet's Integrated Database Management System IDMS, ICL's 2900 IDMS (производная от продукта Cullinet), Univac's DMS 1100 и DBMS Digital Equipment Corporation для VMS (позже известная как Oracle Codasyl DBMS). Cullinet, первоначально известная как Cullinane Database Systems, получила технологию от B. F. Goodrich. В конечном итоге Cullinet была продана Computer Associates, которая по состоянию на 2007 год все еще продавала и поддерживала версию IDMS. ANSI и ISO приняли спецификации баз данных CODASYL под названием Network Database Language (NDL), работа над которыми велась в той же рабочей группе (X3H2), что и стандартизация SQL. Стандарт ISO для NDL был ратифицирован как ISO 8907:1987, но поскольку он никогда не оказывал практического влияния на реализации, он был официально отозван в 1998 году. Некоторые комитеты CODASYL продолжают свою работу и сегодня, но сам CODASYL больше не существует. Документы CODASYL были переданы Институту Чарльза Бэббиджа. CBI также хранит архивные записи для American National Standards Institute X3H2. Интерес к CODASYL постепенно угасал из-за растущего интереса к реляционным базам данных, начиная с начала 1980-х годов.
CODASYL is remembered almost entirely for two activities: its work on the development of the COBOL language and its activities in standardizing database interfaces. It also worked on a wide range of other topics, including end user form interfaces and operating system control languages, but these projects had little lasting impact. The remainder of this section is concerned with CODASYL's database activities. In 1965 CODASYL formed a List Processing Task Force. This group was chartered to develop COBOL language extensions for processing collections of records; the name arose because Charles Bachman's IDS system (which was the main technical input to the project) managed relationships between records using chains of pointers. In 1967 the group renamed itself the Data Base Task Group (DBTG), and its first report in January 1968 was entitled COBOL extensions to handle data bases. In October 1969 the DBTG published its first language specifications for the network database model which became generally known as the CODASYL Data Model. This specification in fact defined several separate languages: a data definition language (DDL) to define the schema of the database, another DDL to create one or more subschemas defining application views of the database; and a data manipulation language (DML) defining verbs for embedding in the COBOL programming language to request and update data in the database. Although the work was focused on COBOL, the idea of a host language independent database was starting to emerge, prompted by IBM's advocacy of PL/I as a COBOL replacement. In 1971, largely in response to the need for programming language independence, the work was reorganized: development of the Data Description Language was continued by the Data Description Language Committee, while the COBOL DML was taken over by the COBOL language committee. With hindsight, this split had unfortunate consequences. The two groups never quite managed to synchronize their specifications, leaving vendors to patch up the differences. The inevitable consequence was a lack of interoperability among implementations. A number of vendors implemented database products conforming (roughly) to the DBTG specifications: the best known implementations were Honeywell's— originally General Electric's— Integrated Data Store (IDS/2), HP's IMAGE, Cullinet's Integrated Database Management System IDMS, ICL's 2900 IDMS (derived from Cullinet's product), Univac's DMS 1100, and Digital Equipment Corporation's DBMS for VMS (later known as Oracle Codasyl DBMS). Cullinet, originally known as Cullinane Database Systems, obtained the technology from B. F. Goodrich. Cullinet was eventually sold to Computer Associates, which as of 2007 still sells and supports a version of IDMS. ANSI and ISO adopted the CODASYL database specifications under the name Network Database Language (NDL), with work taking place within the same working group (X3H2) as SQL standardization. An ISO standard for NDL was ratified as ISO 8907:1987, but, as it never had any practical effect on implementations, it was formally withdrawn in 1998. Some of the CODASYL committees continue their work today, but CODASYL itself no longer exists. The records of CODASYL were donated to the Charles Babbage Institute. CBI also hold the archival records for American National Standards Institute X3H2 records. Interest in CODASYL gradually faded due to growing interest in relational databases beginning in the early 1980s.