|
Программирование >> Исключение дубликатов строк
Ронние реолизоции Работа, выполненная в исследовательской лаборатории IBM в 70-е годы, вызвала большой интерес различных технических журналов, и достоинства новой реляционной модели живо обсуждадись на семинарах по технологии баз данных. Ближе к концу десятилетия стало ясно, что IBM сильно заинтересована и активно участвует в разработке продуктов, основанных на технологии реляционных баз данных и SQL. Это, конечно, заставило многие компании задуматься о том, как скоро IBM сможет выпустить свой первый продукт. Некоторые поставш.ики рассудили, что следует как можно скорее начать работу над своими собственными продуктами, а не дожидаться, пока IBM захватит весь рьшок. В 1977 г. группой инженеров из городка Мемо-Парк, штат Калифорния, была образована компания Relational Software inc. с целью построения нового продукта реляционной базы данных, основанного на SQL. Они назвали свой продукт Oracle. Relational Software Inc. выпустила этот продукт в 1979 г., опередив первый продукт IBM на рынке на два года и представив первую коммерчески доступную систему управления реляционными базами данных (СУРБД). Одно из преимуш.еств СУРБД Oracle заключалось в том, что она работала на мини-компьютерах VAX компании Digital, а не на более дорогих мэйнфреймах IBM. Впоследствии Relational Software Inc. была переименована в Oracle Corporation и на сегодняшний день она является одним из ведуш.их поставш.иков СУРБД. Тем временем Майкл Стоунбрэкер, Эжен Вонг и несколько других преподавателей лаборатории вычислительных систем Калифорнийского университета в Беркли также занимались исследованиями технологии реляционных баз данных. Подобно группе IBM, они разработали прототип реляционной базы данных и дали своему продукту имя INGRES. В состав INGRES был включен язык базы данных, названный языком запросов (Query Language, QUEL), который в сравнении с SQL был намного более структурированным, но в меньшей степени использовал операторы, близкие к разговорному английскому языку. В конце концов, когда CTaJip ясно, что SQL превратился в стандартный язык баз данных, INGRES была преобразована в СУРБД на базе SQL. Несколько профессоров расстались с Беркли в 1980 г. и учредили Relational Technology 1п(?., а в 1981 г. они объявили о выходе первой коммерческой версии INGRES. Компания Relational Technology прошла через несколько преобразований и в настоящее время входит в Computer Associates International, Inc. Сегодня INGRES все еще является одним из лидирующих продуктов баз данных в этой области. Теперь возвратимся к самому началу истории IBM. В 1981 г. IBM анонсировала свою собственную СУРБД с именем SQL/Data System (SQL/DS), а в 1982 г. начала ее поставки. В 1983 г, она представила новую версию SQL/DS для операционной системы VM/CMS (одной из нескольких ОС, поставляемых IBM дня своих больших вычислительных систем) и анонсировала новый продукт СУРБД с именем Database 2 (DB2), который можно было использовать на мэйнфреймах IBM под управлением MVS - основной операционной системы IBM на то время. Впервые поставленная в 1985 г., DB2 стала главной СУРБД от IBM, а ее технология была внедрена во всю серию продуктов IBM. Кстати, с IBM с тех пор ничего не произошло - она все еш.е IBM. За прошедшие более чем 25 лет мы увидели как то, что начиналось, как исследование по проекту System R, превратилось в силу, которая оказывает влияние почти на все уровни сегодняшнего бизнеса и развилось в отрасль с оборотом в несколько миллиардов долларов. ... С1 затем 6i>m Стоноорт в суматохе, окружавшей разработку баз данных, задумывался ли хоть кто-нибудь о стандартизации? Хотя эта идея буквально носилась в воздухе среди сообш,ества, связанного с базами данных, отсутствовало какое бы то ни было единодушие или согласие как в отношении того, кто должен установить стандарт, так и в отношении того, на каком диалекте он должен основываться. Поэтому каадый поставшик продолжал разрабатывать и улучшать свой собственный продукт базы данных, надеясь, что он и, следовательно, его диалект SQL станут отраслевым стандартом. Отзывы и требования клиентов принувдали многих поставшиков включать определенные элементы в свой диалект SQL, и со временем появился неофициальный стандарт. Это были миниатюрные спецификации в сравнении с современными стандартами, поскольку они содержали только те элементы, которые были сходными в различных диалектах SQL. Однако эти спецификации обеспечивали пользователей БД исходным набором критериев, позволяющим оценивать различные программы баз данных на рынке, а также предоставляли пользователям небольшой набор основных сведений, которые они могли использовать при переходе из одной программы базы данных к другой. В 1982 г. Американский национальный институт стандартов (American National Standards Institute, ANSI) отреагировал на растущую потребность в официальном стандарте языка ддя реляционных баз данных, поручив своему техническому комитету по базам данных (комитету ХЗН2) в составе организации ХЗ разработать предложения для такого стандарта. ХЗ является одной из многих организаций под контролем ANSI. В свою очередь, ХЗН2 Database (ХЗН2) является просто одним из многих технических комитетов, который отчитывается перед ХЗ. ХЗН2 состоит из экспертов в области баз данных и представителей почти от всех основных разработчиков БД на основе SQL. В начальный период комитет просматривал и обсуждал преимущества и недостатки различных предлагаемых языков, а также начал работу над стандартом, основанном на QUEL - языке баз данных для INGRES. Подавление со стороны рынка и значительный рост активности IBM в отношении SQL склонили комитет взять за основу своего предложения SQL. Стандарт, предложенный комитетом ХЗН2, в значительной степени был основан на диалекте SQL для IBM DB2. Комитет продолжил работу над несколькими версиями своего стандарта в течение еще двух лет и в некоторой степени улучшил его. Однако результатом этих улучшений стало одно печальное обстоятельство: новый стандарт перестал быть совместимым с суш.ествуюш.ими основными диалектами SQL. Вскоре ХЗН2 осознал, что изменения, внесенные в SQL, не настолько улучшили его, чтобы в достаточной степени служить оправданием несовместимости, поэтому комитет возвратился к исходной версии стандарта. В 1986 г. ANSI принял стандарт ХЗН2, получивший название ANSI ХЗ. 135-1986 - Язык баз данных SQL и стал широко известен под именем SQL/86 . Хотя ХЗН2 внес некоторые незначительные изменения в свой стандарт до того, как он был принят ANSI, SQL/86 просто определял минимальный набор требований, являюш.ихся наименьшим обш.им знаменателем , которому должны соответствовать поставш.ики баз данных. По суш.еству, он присвоил официальный статус элементам, которые были сходными в различных диалектах SQL и уже были реализованы многими по-ставш.иками баз данных. Новый стандарт наконец обеспечил специальный базис, на основе которого могли в дальнейшем разрабатываться язык и его конечные продукты. Международная организация по стандартизации (International Organization for Standardization, ISO) в 1987 г. утвердила свой собственный документ (который в точности соответствовал ANSI SQL/86) в качестве международного стандарта и опубликовала его как документ ISO 9075-1987 - Язык баз данных SQL . (На оба стандарта принято ссылаться просто как на SQL/86.) Международное сообщество разработчиков баз данных смогло теперь опираться на те же стандарты, что и компании США. Но несмотря на то, что SQL приобрел статус официального стандарта, язык был далек от состояния завершения. Розвитие стондорта RNSI/ISO Вскоре SQL/86 был подвергнут критике со стороны правительства, периодических журналов и таких экспертов, как С. Дж. Дэйт. Причиной этой критики являлись: избыточность синтаксиса SQL (было несколько способов определения того же самого запроса), отсутствие поддержки для определенных реляционных операторов и отсутствие реляционной целостности. Хотя ХЗН2 знал об этих проблемах еще до опубликования SQL/86, он считал, что лучше выпустить стандарт раньше, хотя и в недоработанном виде, чем вообще не иметь стандарта. Как ISO, так и ANSI отреагировали на критику, касающуюся реляционной целостности, приняв исправленные версии стандартов. ISO опубликовала ISO 975:1989 - Язык SQL для баз данных с расширением целостности в 1989 г., тогда как ANSI в тот же год, но позднее, принял свой стандарт ХЗ. 135-1989 - Язык SQL для баз данных с расширением целостности , который также часто указывается как SQL/89. Тем не менее работа комитета ANSI, длящаяся годы, не закончена даже сейчас: ХЗН2 все еще пытается решить важный вопрос, поставленный правительством. Некоторые правительственные пользователи выражали неудовольствие тем, что спецификации, поясняющие, как встроить SQL в обычный язык программирования, не были явными компонентами стандарта (спецификации были включены, но они
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |