Реферат сравнение субд oracle и Microsoft sql server
Вид материала | Реферат |
- Кафедра Информационной Безопасности курсовая, 482.39kb.
- Лекция №1: Стандарты языка sql, 1420.56kb.
- Сервер баз данных, 379.17kb.
- Курс "Современные технологии построения баз данных на примере Microsoft sql server, 67.12kb.
- Программа курса: Модуль Краткий обзор sql server Что такое сервер sql server Интегрирование, 35.73kb.
- Курс 2778. Создание запросов на языке Microsoft sql server 2005 Transact-sql. Курс, 16.57kb.
- Задачи курса Основы языка sql (и его расширения, t-sql, используемого sql server 2000), 22.95kb.
- Телефон: +7-902-991-3258 (сотовый), 18.27kb.
- Курс также готовит к успешной сдаче экзамена 70-433: ts: Microsoft sql server 2008, 217.32kb.
- Server Reporting Services Алексей Шуленин, Microsoft обзор Microsoft ® sql server™, 646.29kb.
УДМУРТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
КАФЕДРА ВЫСШЕЙ МАТЕМАТИКИ
РЕФЕРАТ
Сравнение СУБД Oracle и
Microsoft SQL Server
Выполнила: Студентка гр. 38-41
Макарцева М.Б.
Проверил: Вотинцев А.А.
ИЖЕВСК 2004
Содержание:
- Введение;……………………………………………………………..3
- Сравнение платформ; ……………………………………………….3
- Аппаратные требования; ……………………………………………4
- Программные требования; ………………………………………….5
- Настольные и однопользовательские версии; …………………….7
- Инструменты и утилиты; ……………………………………………8
- Производительность(TPC тесты); …………………………………..8
- Особенности; …………………………………………………………9
- T-SQL и PL/SQL; ……………………………………………………12
- Заключение; …………………………………………………………14
- Литература; ………………………………………………………….15
- Введение;
Не секрет, что Oracle и Microsoft SQL Server, разработанные лидерами мирового рынка программного обеспечения, сегодня являются одними из наиболее широко используемых СУБД. Поэтому каждый пользователь, нуждающийся в СУБД, делает свой выбор, как правило, в пользу одного из них. Этот выбор довольно сложен, он должен основываться на знаниях особенностей этих продуктов, а также, на конкретных потребностях пользователя.
Немного истории развития производителей СУБД поможет сделать выбор.
Корпорация Oracle была основана в 1977 году (в то время она носила название Software Development Laboratories, а в 1978 году она была переименована в Relational Software, Inc.(с 1983 г. - Oracle Corporation)) как компания, специализирующаяся на создании реляционных СУБД, первая версия продукта Oracle - V2 выпущена в 1979г. Нынче Oracle поставляет на мировой рынок огромное количество продуктов. До 1988 г. занимала лидирующие позиции. На сегодняшний день это вторая по величине доходов компания, специализирующаяся на производстве программного обеспечения.
Корпорация Microsoft также была основана в середине 70-х годов(1975г.). Ее история хорошо известна, впрочем, как и тот факт, что до 1987 года эта компания не имела никакого отношения к производству серверных СУБД. В 1988 г. совместно с Ashton-Tate выпустили первую версию реляционной СУБД для локальных вычислительных сетей - Ashton-Tate/Microsoft SQL Server. Сейчас SQL Server - один из сотен продуктов, производимых Microsoft.
Соперничество этих корпораций позволило развивать быстрыми темпами эту область программного обеспечения, в результате чего выиграл пользователь.
Аспекты, рассмотренные далее, помогут сделать осознанный выбор.
- Сравнение платформ;
Одним из главных событий, определивших дальнейшую судьбу Microsoft SQL Server, стало решение Microsoft сосредоточить усилия исключительно на поддержке только платформы Windows NT. В результате его принятия популярность SQL Server определяется в первую очередь популярностью платформы, которую он поддерживает, в данный момент - Windows 2000 и ее будущих потомков. Эта СУБД настолько связана с операционной системой, что ее надежность, масштабируемость и производительность определяются надежностью, масштабируемостью и производительностью самой платформы, и положение SQL Server на рынке будет зависеть от выпуска новых версий Windows.
Подход Oracle к поддержке различных операционных систем радикально отличается от подхода Microsoft - СУБД этой фирмы существуют для огромного количества платформ. Хотя поддержка большого количества платформ (а не нескольких наиболее прибыльных, как это характерно для других производителей СУБД) требует немалых вложений, переход к широкому применению Java, который сейчас происходит в Oracle, позволяет существенно сократить затраты на разработку и поддержку продуктов.
Таким образом,
Microsoft – Windows-платформы;
Oracle - все известные платформы, включая Windows-платформы, AIX-системы, Compaq Tru64 UNIX, HP 9000 Series HP-UX, Linux Intel, Sun Solaris и т.д.
- Аппаратные требования;
Чтобы установить SQL Server 2000, Вы должны иметь Intel или совместимую платформу и следующее оборудование:
Оборудование | Требования |
Процессор | Pentium 166 MHz |
Память | 32 MB RAM (минимум для Desktop Engine), 64 MB RAM (минимум для всех других редакций), 128 MB RAM или больше рекомендуется |
Дисковое пространство | 270 MB (полная установка), 250 MB (типичная), 95 MB (минимальная), Desktop Engine: 44 MB Analysis Services: 50 MB минимум и 130 MB типичная English Query: 80 MB |
Oracle 9i поддерживается на Intel или совместимых платформах, AIX-системах, Compaq Tru64 UNIX, HP 9000 Series HP-UX, Linux Intel, Sun Solaris и т.д.
Для установки Oracle 9i на Intel или совместимую платформу, Вы должны иметь следующее оборудование:
Оборудование | Требования |
Процессор | Pentium 166 MHz или выше |
Память | RAM: 128 MB (256 MB рекомендуется) Virtual Memory: начальный размер 200 MB, максимальный размер 400 MB |
Дисковое пространство | 140 MB на системном диске плюс 4.5 GB для Oracle Home Drive (FAT) или 2.8 GB для Oracle Home Drive (NTFS) |
Для установки Oracle 9i на UNIX системы, такие как AIX-системы, Compaq Tru64 UNIX, HP 9000 Series HP-UX, Linux Intel и Sun Solaris, Вы должны иметь следующее оборудование:
Оборудование | Требования |
Процессор | Минимум 512 MB RAM |
Размер Swap | Минимум 2 x RAM или 400 MB, смотря что больше |
Дисковое пространство | 4.5 GB |
- Программные требования;
SQL Server 2000 поставляется в шести редакциях: Enterprise, Standard, Personal, Developer, Desktop Engine и SQL Server CE (версия для Windows CE) и требует следующие программы:
Операционная система | Enterprise Edition | Standard Edition | Personal Edition | Developer Edition | Desktop Engine | SQL Server CE |
Windows CE | Нет | Нет | Нет | Нет | Нет | Да |
Windows 9x | Нет | Нет | Да | Нет | Да | Нет |
Windows NT 4.0 Workstation с Service Pack 5 | Нет | Нет | Да | Да | Да | Нет |
Windows NT 4.0 Server с Service Pack 5 | Да | Да | Да | Да | Да | Нет |
Windows NT 4.0 Server Enterprise Edition с Service Pack 5 | Да | Да | Да | Да | Да | Нет |
Windows 2000 Professional | Нет | Нет | Да | Да | Да | Нет |
Windows 2000 Server | Да | Да | Да | Да | Да | Нет |
Windows 2000 Advanced Server | Да | Да | Да | Да | Да | Нет |
Windows 2000 DataCenter | Да | Да | Да | Да | Да | Нет |
Windows XP Professional | Нет | Нет | Да | Да | Да | Нет |
Oracle 9i Database поставляется в трех редакциях: Enterprise, Standard и Personal и требует следующие программы:
Платформа | Версия операционной системы | Исправления |
Windows | Windows NT 4.0 | Service Pack 5 |
Windows | Windows 2000 | Service Pack 1 |
Windows | Windows XP | Не нужны |
AIX | AIX 4.3.3 | Maintenance Level 09 иIY24568, IY25282, IY27614, IY30151 |
AIX | AIX 5.1 | AIX 5L release 5.1 ML01+ (IY22854), IY26778, IY28766, IY28949, IY29965, IY30150 |
Compaq Tru64 UNIX | Tru64 5.1 | 5.1 patchkit 4 |
Compaq Tru64 UNIX | Tru64 5.1A | 5.1A patchkit 1 |
HP-UX | HP-UX version 11.0 (64-bit) | Sept. 2001 Quality Pack, PHCO_23792, PHCO_24148, PHKL_24268, PHKL_24729, PHKL_ 25475, PHKL_25525, PHNE_24715, PHSS_23670, PHSS_24301, PHSS_24303, PHSS_24627, PHSS_22868 |
Linux | SuSE Linux Enterprise Server 7 (or SLES-7) с ядром 2.4.7, и glibc 2.2.2 | Не нужны |
Sun Solaris | Solaris 32-Bit 2.6 (5.6), 7 (5.7) или 8 (5.8) | Не нужны |
Sun Solaris | Solaris 64-Bit 8 (5.8) | Update 5 |
- Настольные и однопользовательские версии;
Чем шире используются распределенные вычисления, тем более важной оказывается возможность хранить данные где угодно, в частности на рабочей станции или переносном компьютере. Несмотря на утверждения некоторых аналитиков о том, что в эпоху Интернет-приложений настольные СУБД уже не нужны, они по-прежнему широко применяются во всех областях бизнеса.
И Oracle, и Microsoft многое делают для поддержки настольных версий своих СУБД или применения их в указанном режиме. SQL Server можно применять на любых Intel-совместимых компьютерах под управлением Windows 9x, Windows NT, Windows 2000, но SQL Server более не поддерживает компьютеры на базе процессора Alpha. Имеется также версия SQL Server 2000 для Windows CE, предназначенная для применения в мобильных устройствах.
Microsoft Data Engine (MSDE) - это продукт фирмы Microsoft, специально предназначенный для настольных приложений. Эта СУБД по существу представляет собой ограниченный вариант SQL Server, который можно применять в Windows 9x, NT, Windows 2000 и администрировать с помощью Microsoft Access. Подобно Access на рынке MSDE позиционируется как однопользовательская СУБД. Отметим также, что Microsoft встроила в этот продукт специальные средства, снижающие его производительность при попытке одновременной работы с ним более пяти пользователей.
Среди продуктов Oracle также имеются две СУБД, позиционируемые в качестве настольных. Продукт Personal Oracle, известный уже много лет, представляет собой однопользовательскую, но полнофункциональную версию Oracle, требующую некоторых навыков администрирования при ее применении. Вторая настольная СУБД этой компании, Oracle Lite, может применяться в качестве однопользовательской СУБД на обычных рабочих станциях, но в действительности она предназначена для применения в мобильных устройствах. В отличие от других СУБД этот продукт поддерживает только язык Java, но не поддерживает PL/SQL (язык, на котором создается серверный код в других СУБД Oracle).
- Инструменты и утилиты;
Одним из преимуществ SQL Server является простота его применения, в частности администрирования. SQL Server Enterprise Manager, входящий в состав всех редакций Microsoft SQL Server (за исключением MSDE), представляет собой полнофункциональное и достаточно простое средство для администрирования этой СУБД. Oracle Enterprise Manager во многих отношениях превосходит SQL Server Enterprise Manager по своим возможностям, однако процесс его установки довольно сложен, к тому же, что более существенно, он входит в состав далеко не всех редакций СУБД Oracle, а некоторые его компоненты можно приобрести только как отдельные продукты. Эта ситуация несколько улучшилась с появлением одной из последних версий Oracle Enterprise Manager - DBA Studio для Oracle8i Release 2 (для версий 8.1.6 и 8.1.7).
Административные утилиты и другие инструменты для ранних версий Oracle обычно производились независимыми компаниями (выпускались как дорогие продукты, так и бесплатные), а основные усилия самой корпорации Oracle были сосредоточены на разработке самой СУБД. Однако сейчас ситуация существенно изменилась, и в настоящее время Oracle поставляет на рынок немалое количество разнообразных инструментов, среди которых помимо средств администрирования имеются средства разработки приложений, проектирования данных, моделирования бизнес процессов, серверы приложений, корпоративный портал. Впрочем, и в арсенале Microsoft также имеются многие из подобных продуктов, правда, не все они позиционируются как таковые (например, Microsoft Visio Enterprise, обладающий функциональностью средства моделирования бизнес процессов и проектирования данных, но позиционируемый как средство создания диаграмм).
- Производительность(TPC тесты);
Очень сложно сравнивать производительность SQL Server 2000 и Oracle 9i Database. Производительность конкретных баз данных зависит больше от квалификации разработчиков и администратора баз данных, чем от поставщика СУБД. Вы можете использовать любую из этих РСУБД для построения стабильных и эффективных систем. Можно определить типичные транзакции, такие как используемые в системах управления запасами, системах бронирования на авиалиниях и банковских системах. После определения этих типичных транзакций, можно запустить их под разными системами управления базами данных, работающих на различном оборудовании и программных платформах.
TPC тесты
Transaction Processing Performance Council - независимая организация, точно определяющая типичные транзакции и некоторые общие правила, которым эти транзакции должны удовлетворять.
TPC производит контрольные задачи, измеряющие обработку транзакций и производительность баз данных в показателях количества транзакций, посланных системе и обработанных базой данных за единицу времени и т.д., транзакций в секунду или транзакций в минуту.
TPC создает спецификации на многие тесты. Есть TPC-C, TPC-H, TPC-R, TPC-W и некоторые старые тесты, такие как TPC-A, TPC-B и TPC-D. Наиболее популярный тест - TPC-C (OLTP тест).
SQL Server сейчас является рекордсменом по производительности, однако и Oracle стабильно входит в пятерку лидеров.
Примечание. Из-за того, что в действительности большинство организаций не используют очень большие базы данных, тот факт что SQL Server 2000 выигрывает TPC-C тесты на самом деле не имеет значения для большей части компаний. Отметим, однако, что подобного рода тесты не могут дать однозначного ответа на вопрос, какая из СУБД будет производительнее при решении конкретной задачи: в одних случаях производительность СУБД Oracle превосходит производительность SQL Server, а в других наоборот. Реально проверить это можно только с помощью тестирования, основанного на запросах, типичных именно для конкретной задачи.
- Особенности;
Кратко рассмотрим особенности последних версий обеих СУБД, как появившиеся недавно, так и унаследованные от прежних версий. В связи с этим следует отметить, что лидерство того или иного продукта, если смотреть на это с точки зрения поддержки тех или иных технологий либо других технологических особенностей, во многом определяется тем, продукт какой фирмы был выпущен последним. Поэтому говорить о стабильном лидерстве в этой области довольно сложно. Рассмотрим некоторые особенности и достижения в последних версиях этих СУБД.
Oracle8i и Oracle9i
Поддержка Internet
Для поддержки Internet в Oracle8i существенно расширено применение языка Java. В частности, в состав серверной части этой СУБД входит виртуальная Java-машина, в дополнение к имевшимся ранее средствам выполнения кода на языках SQL и PL/SQL.
Создан Oracle Portal - инструмент для создания корпоративных решений и интеграции корпоративных приложений на базе Web-технологий.
Созданы средства поддержки мультимедиа-контента в базе данных Oracle - Oracle8i interMedia, которые можно с успехом применять как в обычных приложениях, так и в Internet-приложениях.
В Oracle8i впервые появилась Internet File System (iFS) - Java-приложение, выполняющееся внутри виртуальной Java-машины Oracle8i и позволяющее пользователям обращаться с базой данных как с сетевым диском. Вследствие этого в Oracle8i можно теперь хранить данные практически любых типов.
В Oracle8i Release 2 (8.1.6) появилась поддержка XML как средства интеграции данных и реализации транзакций в приложениях business-to-business (B2B).
В Oracle9i присутствуют средства интеграции SQL, XML и Java, а также средства интеграции приложений Oracle9i Dynamic Services, представляющие собой инструменты и утилиты для создания сервисов на базе уже существующих приложений.
Администрирование
Oracle Enterprise Manager в последних версиях Oracle8i содержит разделяемый депозитарий, который позволяет координировать доступ пользователей к данным, хранящимся в различных серверах Oracle, с помощью Oracle Management Server - компонента среднего звена, предназначенного для централизации управления доступом клиентов к серверам.
Oracle 8i поддерживает индексы, основанные на функциях и выражениях. Кроме того, в этой СУБД можно строить индексы в порядке не возрастания, а убывания, и, что более существенно, для создания индексов в этой версии Oracle не требуется полная блокировка таблицы.
Oracle8i позволяет модифицировать план выполнения SQL-запроса и сохранить его в базе данных, что во многих случаях оказывается весьма полезным.
В Oracle8i появилась возможность создавать табличные пространства, управляемые локально, а также создавать переносимые табличные пространства, что позволяет переносить данные с одного сервера на другой без применения экспорта и импорта данных.
Имеется также возможность копировать статистику из одной базы данных в другую, что бывает полезно при тестировании приложений.
В Oracle9i много сделано для упрощения администрирования. Новый продукт содержит средства автоматизации конфигурирования серверов, утилиты для управления ресурсами используемых компьютеров, а также мониторинга загрузки и производительности.
- Разработка приложений
Последние версии Oracle содержат объектные расширения (в частности, объектно-ориентированные типы данных и соответствующие расширения SQL), причем эти расширения входят в состав продукта.
В Oracle8i и Oracle9i входят средства интеграции со средствами разработки Microsoft, включая Visual Studio Application Wizard, поддержку COM/DCOM и MTS/COM+, а также OLEDB-провайдер для доступа к данным этой СУБД.
- Безопасность данных
В Oracle8i впервые была применена концепция Virtual Private Database для упрощения управления доступом: теперь средства защиты данных встроены в саму базу данных, а не в приложения.
В средства Oracle Advanced Security (известные ранее как Advanced Networking Option) добавлены поддержка протоколов Secure Socket Layer (SSL) и Remote Authentication Dial-In User Service (RADIUS). Это сделано с целью поддержки безопасности транзакций, проводимых через Internet.
Прочее
Последние версии Oracle поддерживают управление базами данных большого объема. Для этой цели в сервере имеется поддержка так называемых материализованных представлений (materialized views).
С целью обеспечения масштабируемости поддерживается не только параллельная обработка данных, но и параллельное сопровождение и обслуживание баз данных.
Для обеспечения надежности и доступности в последних версиях Oracle имеются средства восстановления после сбоев (а в версии Oracle9i - также и после сбоев, вызванных ошибками персонала или пользователей).
В состав Oracle9i войдет OLAP-сервер, ранее поставлявшийся как отдельный продукт.
Microsoft SQL Server 2000
Версия Microsoft SQL Server 2000 построена на основе ядра Microsoft SQL Server 7.0. Ее отличительными особенностями являются повышенная масштабируемость, производительность и интеграция с Internet
- Сервер баз данных
SQL Server 2000 позволяет использовать на одном компьютере несколько одновременно работающих серверов. Помимо этого можно использовать несколько SQL Server 2000 и один SQL Server 7.0.
В версии SQL Server 2000 появилась поддержка пользовательских функций, которые можно создавать средствами языка Transact SQL. Помимо скалярных значений такие функции могут возвращать и таблицы.
В рамках поддержки ссылочной целостности, в SQL Server 2000 реализованы каскадные удаления и обновления (CASCADE DELETE, CASCADE UPDATE).
Добавлена поддержка языка XML, включая ключевое слово FOR XML для извлечения данных в виде XML-потоков.
Для повышения производительности теперь можно создавать индексы для представлений (Indexed Views). В этой версии SQL Server поддерживается создание индексов в убывающем порядке.
Улучшенная поддержка распределенных запросов через интерфейс OLE DB позволяет использовать статистику с удаленного сервера для построения более эффективных планов выполнения (execution plans).
- Утилиты
Появилась возможность присоединять и отсоединять базы данных прямо из Enterprise Manager. Стало возможным перемещение протоколов транзакций с одного сервера на другой в целях полной поддержки отсоединенных баз данных (standby databases).
Интерфейсные улучшения в Query Analyzer включают Object Browser - средство для поиска объектов баз данных и шаблоны для построения запросов.
Добавлено множество опций для автоматического запуска и остановки трассировки, включая опцию для задания максимального размера файла трассировки.
Репликация
Реализована поддержка изменений в схеме базы данных без повторного создания публикаций и подписчиков.
Расширены возможности фильтрации публикуемых данных, появилась возможность трансформации публикуемых данных с применением сервисов трансформации данных (Data Transformation Services).
В SQL Server 2000 поддерживается возможность задания альтернативных публикаторов информации, что позволяет синхронизировать данные даже в тех случаях, когда первичный публикатор недоступен.
- Службы трансформации данных (DTS)
В программной модели DTS реализованы новые функции и объекты.
Информация вроде идентификатора пользователя, пароля и даже источника данных может быть определена в процессе выполнения - это возможно благодаря использованию файлов связи данных (data link files).
SQL Server 2000 позволяет создавать и распространять DTS-шаблоны, на основе которых можно создавать различные DTS-задачи.
-
Средства анализа данных
Как мы уже отмечали, в Microsoft SQL Server 7 были впервые включены средства анализа данных (OLAP) в качестве компонента сервера. В SQL Server 2000 эти средства получили дальнейшее развитие: компонент Analysis Services включает как средства анализа данных, так и средства поиска закономерностей (Data Mining).
Среди основных новшеств в средствах анализа данных можно отметить следующие:
- новые типы кубов и расширения функциональности кубов;
- новые типы измерений и типов иерархий;
- средства Data Mining интегрированы непосредственно в аналитические средства и могут использоваться как для поиска информации в OLAP-кубах, так и в реляционных базах данных;
- возможность построения MDX-запросов с помощью MDX Builder, расширенные MDX-функции, редактор виртуальных кубов, поддержка Active Directory и т.д.
- T-SQL и PL/SQL;
SQL Server 2000 и Oracle 9i Database поддерживают ANSI SQL-92 начального уровня и не поддерживают ANSI SQL-92 среднего уровня. Здесь мы проведем сравнение Transact- SQL с PL/ SQL и покажем некоторые лимиты SQL Server 2000 и Oracle 9i.
T-SQL и PL/SQL
Расширение языка SQL, поддерживаемое Microsoft SQL Server 2000 называется Transact-SQL (T-SQL). Расширение, поддерживаемое Oracle 9i Database называется PL/SQL. PL/SQL намного более мощный язык чем T-SQL. Здесь краткое сравнение PL/SQL и T-SQL:
Признак | PL/SQL | T-SQL |
Индексы | B-Tree индексы, Bitmap индексы, Partitioned индексы, Function-based индексы, Domain индексы | B-Tree индексы |
Таблицы | Реляционные таблицы, Объектные таблицы, Временные таблицы | Реляционные таблицы, Временные таблицы |
Триггеры | BEFORE триггеры, AFTER триггеры, INSTEAD OF триггеры | AFTER триггеры, INSTEAD OF триггеры |
Процедуры | PL/SQL операторы, Java методы, процедуры языка третьего поколения (3GL) | T-SQL операторы |
Массивы | Поддерживаются | Не поддерживаются |
Ограничения SQL Server 2000 и Oracle 9i
Признак | SQL Server 2000 | Oracle9i Database |
длина имени базы данных | 128 | 8 |
длина имени столбца | 128 | 30 |
длина имени индекса | 128 | 30 |
длина имени таблицы | 128 | 30 |
длина имени представления | 128 | 30 |
длина имени хранимой процедуры | 128 | 30 |
длина индекса | 900 | 749 |
максимум колонок в индексе | 16 | 32 |
максимальная длина поля char() | 8000 | 2000 |
максимальная длина поля varchar() | 8000 | 4000 |
максимум колонок в таблице | 1024 | 1000 |
максимальная длина записи в таблице | 8036 | 255000 |
максимальный размер запроса | 16777216 | 16777216 |
вложенные подзапросы | 40 | 64 |
размер строковой константы в SELECT | 16777207 | 4000 |
размер строковой константы в WHERE | 8000 | 4000 |
Рассмотрим конкретные отличия этих СУБД на примере создания триггеров (создание таблиц делается аналогично). Будем рассматривать учебную базу данных.
Пример триггеров: Пусть нам необходимо при изменении ИД в таблице ПРОДАВЦЫ изменять соответствующую информацию в таблице ЗАКАЗЫ
T-SQL
CREATE TRIGGER ИЗМ_ИД ON ПРОДАВЦЫ
FOR UPDATE
AS
Declare @NumRow int
Set @NumRow=@@rowcount
If Update(ИД) and @NumRow=1
Update ЗАКАЗЫ
Set ЗАКАЗЫ.ИД=inserted.ИД
From ЗАКАЗЫ, inserted, deleted
Where ЗАКАЗЫ.ПРОД_ИД=deleted.ИД
Else
rollback
PL/SQL
CREATE TRIGGER ИЗМ_ИД after UPDATE
on ПРОДАВЦЫ for each row
begin
IF (:new.ИД<>:old.ИД) THEN
update ЗАКАЗЫ З set З.ПРОД_ИД = :new.ИД
END IF;
end;
Примеры процедур: создадим процедуру, возвращающую информацию о заказах на сумму >X (X передаем в процедуру)
T-SQL
CREATE PROCEDURE ЗАКАЗЫ_X
@MinSum decimal
AS
Select *
From ЗАКАЗЫ
Where Сумма> @MinSum
PL/SQL
-
CREATE OR REPLACE PROCEDURE ЗАКАЗЫ_X(МинСум IN NUMBER)
IS
BEGIN
Select *
From ЗАКАЗЫ
Where Сумма> МинСум
END;
Примеры функций: Создадим функцию которая возвращает ИД того продавца из двух указанных, у которого результат больше.
T-SQL
CREATE FUNCTION MyFunc (@Param1 int, @Param2 int)
RETURNS int
AS
BEGIN
Declare @Res1
Set @Res1=select РЕЗУЛЬТАТ
from ПРОДАВЦЫ
where ИД=@Param1;
Declare @Res2
Set @Res2=select РЕЗУЛЬТАТ
from ПРОДАВЦЫ
where ИД=@Param2;
IF (@Res1>@Res2 )
RETURN @Param1
ELSE
RETURN @Param2
END
PL/SQL
-
CREATE OR REPLACE FUNCTION МАКС_РЕЗ (ПРОД_ИД1 IN NUMBER, ПРОД_ИД1 IN NUMBER)
RETURN NUMBER
IS
BEGIN
Declare @Res1
Set @Res1=select РЕЗУЛЬТАТ
from ПРОДАВЦЫ
where ИД=@Param1;
Declare @Res2
Set @Res2=select РЕЗУЛЬТАТ
from ПРОДАВЦЫ
where ИД=@Param2;
IF (@Res1>@Res2 )
RETURN @Param1
ELSE
RETURN @Param2
END;
- Заключение;
Неверно считать, что SQL Server 2000 лучше чем Oracle 9i или наоборот. Оба продукта могут быть использованы для построения стабильных и эффективных систем и стабильность и эффективность приложений и баз данных зависит больше от квалификации разработчиков и администратора баз данных чем от поставщика СУБД. Но SQL Server 2000 имеет некоторые преимущества в сравнении с Oracle 9i и наоборот.
Преимущества SQL Server 2000:
- SQL Server 2000 дешевле Oracle 9i Database.
- SQL Server 2000 удерживает высшие результаты TPC-C по производительности и соотношению цена/производительность.
- SQL Server 2000, в общем, считается более легким для установки, использования и поддержки.
Преимущества Oracle 9i Database:
- Oracle 9i Database поддерживается на всех известных платформах, а не только на Windows-платформах.
- PL/SQL более мощный язык чем T-SQL.
- Большее количество тонких настроек конфигурации может быть сделано через параметры запуска.
- Литература
- SQL Server 2000 Books Online
- Oracle documentation
- Why is SQL Server better/worse than Oracle?
- Top Ten TPC-C by Performance Version 5 Results
- “Microsoft SQL Server 2000. Краткий обзор новинок” и “Microsoft SQL Server 2000 Analysis Services”, КомпьютерПресс № 9’2000
- “Microsoft SQL Server 2000: поддержка XML”, КомпьютерПресс № 6’2001
Редакции Microsoft SQL Server 7.0
Microsoft SQL Server 7.0 распространяется в трех основных редакциях: Standard, Enterprise и для Small Business Server.
Стандартная редакция работает на платформах Microsoft Windows Small Business Server и Microsoft Windows NT Server стандартной и корпоративной редакции. Количество поддерживаемых процессоров ограничено 4.
Корпоративная (Enterprise) редакция устанавливается только на Windows NT Enterprise Edition и включает такие дополнительные особенности, как поддержка до 32 процессоров, возможность установки на кластер MSCS и адресация расширенной памяти.
Редакция для Small Business Server имеет ограниченный размер базы данных (10 Гбайт) и не включает OLAP Services. Количество одновременных пользователей в ней ограничено 50.
Пользователи, обладающие лицензией на любую из вышеперечисленных редакций, могут установить настольную редакцию Microsoft SQL Server 7.0. Настольная редакция (Desktop Edition) предназначена для работы на Windows 95/98, Windows NT Workstation, Windows NT Server и Windows NT Enterprise. Несмотря на отсутствие ряда возможностей (например, опережающего чтения (read ahead), полнотекстового поиска и др.), настольная редакция основана на том же 32-разрядном коде, что и остальные версии SQL Server 7.0, и полностью совместима с любыми приложениями для SQL Server 7.0.
Microsoft SQL Server содержит множество утилит, инструментов, программ-мастеров (wizards), всплывающих подсказок и других возможностей, которые позволяют значительно упростить весь цикл работы с сервером, включая его установку, внедрение, управление и использование. SQL Server обеспечивает администраторов полным набором средств для тонкой самонастройки Он также способен эффективно работать на автономных однопользовательских настольных системах, требуя минимума административного вмешательства.