Система управления базами данных Microsoft SQL Server 2012
Системы управлении базами данных (СУБД) в последнее время стали неотъемлемой частью ИТ-инфраструктуры практически любой компании. Сейчас достаточно сложно найти компанию, которая бы не пользовалась системой 1С:Предприятие или какой-либо мощной ERP системой, такой как SAP или Microsoft Dynamics (CRM), которые используют СУБД для хранения своих данных.
Почти все WEB-приложения используют СУБД для хранения информации о клиентах, наименований товаров и т.п. Если раньше СУБД использовались в основном для хранения текстовых и числовых данных, то сейчас в СУБД хранятся такие данные, как изображения, видеозаписи и многие другие типы данных. Объёмы баз данных в некоторых отраслях выросли до нескольких терабайт.
Поэтому сейчас, как никогда ранее, повысились требования к надёжности и производительности систем управления базами данных. Лидирующие позиции на рынке среди СУБД занимает Microsoft SQL Server. Доля рынка Microsoft SQL Server, по данным Gartner, составляет 46,8%, остальная часть рынка принадлежит Oracle и IBM DB2, относительно небольшую часть рынка занимают СУБД Open Source, такие как Postgre и Firebird.
SQL 2012 и работа с ним
Microsoft SQL Server 2012 является новейшей и мощнейшей системой управления базами данных. Помимо стандартных для СУБД функций, SQL Server 2012 содержит большой набор интегрированных служб по анализу данных. Доступ к данным, расположенным на SQL Server могут получить любые приложения, разработанные на .Net и VisualStudio, а также приложения пакета Microsoft Office 2007. SQL Server 2012 обеспечивает высочайшую в своём классе масштабируемость, производительность и безопасность.
Microsoft SQL Server 2012 поддерживают более 15000 поставщиков программного обеспечения, его используют более 74,7% крупнейших компаний мира. Microsoft SQL Server 2012 используют практически все ERP и CRMсистемы, как SAP, Microsoft Dynamics, 1C: Предприятие, Microsoft CRM.
Платформа данных SQL Server
SQL Server 2012 предоставляет средства по созданию и управлению реляционными базами данных. Также SQL Server 2012 поддерживает новые средства аналитической обработки данных (Analysis Services), средства отчётности (Reporting Services), а также множество средств, упрощающих разработку приложений.
Ввиду того, что на SQL Server работают критические бизнес-приложения, предприятия выдвигают очень жёсткие требования по производительности, отказоустойчивости и безопасности самой СУБД.
Безопасноcть SQL Server 2012:
- Интерактивное шифрование баз данных. SQL Server 2012 поддерживает прозрачное шифрование баз данных и журналов транзакций. Данная функция позволяет заказчику быть уверенным в том, что неправомочный доступ к данным компании невозможно будет получить, даже завладев сервером или системой хранения данных.
- Поддержка PKI. SQL Server 2012 поддерживает инфраструктуру сертификатов. Доступ к данным можно ограничивать и шифровать при помощи сертификатов и аппаратных модулей защиты (TPM).
- Интеграция с доменом ActiveDirectory. Доступ к данным можно разрешать по доменным пользователям и группам.
- Аудит. SQL Server 2012 поддерживает аудит доступа к данным и контроль за осуществляемыми с базой данных действиями.
Отказоустойчивость SQL Server 2012:
- Зеркалирование БД (Database Mirroring). Технология зеркалирования предполагает наличие одного активного сервера, с которым работают все клиенты, и одного зеркального сервера, на который происходит передача всех журналов транзакций и их применение к зеркальной БД. При отказе активного сервера, происходит переключение на зеркальный сервер. Это делается либо вручную, либо автоматически, при использовании сервера-наблюдателя (Witness). Таким образом обеспечивается отказоустойчивость БД, и в случае сбоя максимум, что теряется – это одна транзакция. При этом не требуется никакого специализированного кластерного оборудования или SAN-устройств. Но нужно учитывать, что данный метод не обеспечивает непрерывность функционирования, ввиду того, что переключение длится несколько секунд и обращения происходят к другому серверу с другим именем, а также не обеспечивается распределение нагрузки и снижается производительность. В SQL Server 2012 появилась функция автоматического восстановления повреждённых страниц с зеркального сервера, а также добавлена функция прозрачного перенаправления клиентов на зеркальный сервер.
Что такое SQL
Database Mirroring в SQL Server 2012
- Кластеры высокой доступности (High Availability Cluster). Крупные компании, которым требуется непрерывность функционирования, постоянная доступность БД и распределение нагрузки, используют SQL Server 2012 в режиме кластера. SQL Server 2012 поддерживает 16-ти узловую кластеризацию, причём кроме кластеризации ядра СУБД, поддерживается также кластеризация Analysis Services, Notification Services и Replication Services. Кластер SQL Server 2012 позволяет обеспечить режим функционирования 24/7 для критических бизнес-приложений.
Двух узловой кластер на базе SQL Server 2012
Масштабируемость SQL Server 2012:
- Горячее добавление памяти и процессоров. SQL Server 2012 позволяет не выключая и не перезагружая сервер добавлять в него оперативную память и процессоры (эта функция должна также поддерживаться и оборудованием).
- Репликация БД. SQL Server 2012 позволяет создавать копии БД в удалённых филиалах. Поддерживаются различные механизмы репликации с использованием транзакций, слияния и моментальных снимков. Репликация может быть как односторонней, когда например, изменения из центрального офиса реплицируются в филиалы, так и двусторонней. SQL Server 2012 поддерживает распределённые приложения и гео-распределённую кластеризацию.
- Распределение ресурсов (Resource Governor). SQL Server 2012 позволяет распределять ресурсы и назначать приоритет для различных задач. Эта функция позволяет избежать случаев резкого падения производительности всего сервера, и прерывания работы всех пользователей при выполнении одной какой-либо сложной задачи.
- Поддержка архитектуры Intel Itanium. Для сверхвысоких нагрузок выпущена версия SQL Server 2012, работающая на RISC-серверах, построенных на платформе Intel Itanium (IA-64). Данная редакция SQL Server 2012 применяется в крупных ЦОД для обработки больших объёмов информации. SQL Server 2012 в редакции Itanium поддерживает 64 процессорных ядер и 2 терабайта оперативной памяти. Поддерживаются технологии горячего добавления/отключения процессора и памяти, также поддерживается технология отказоустойчивого зеркалирования памяти и 8-ми узловая кластеризация.
Построение кластера является достаточно сложной задачей. При построении кластера проводится сложный анализ бизнес-приложения, использующего СУБД, рассчитывается нагрузочная способность и требуемые ресурсы, прогнозируется рост БД и рост нагрузочной способности, в соответствии с этим планируется инфраструктура кластеров и подбирается оборудование. Компания ЛанКей обладает опытом построения кластеров SQL Server в ряде крупных компаний. Планирование и развёртывание кластеров SQL Server производят сертифицированные инженеры MCSE, MCDBA, MCTS: SQL Server.
- Домен Active Directory
- Корпоративная почта Microsoft Exchange Server 2013
- Объединенные коммуникации
- Объединенные коммуникации на базе Cisco Unified Communications Manager.
- Объединённые коммуникации Microsoft Lync
- Виртуализация серверов на базе VMware vSphere
- Виртуализация серверов Microsoft Hyper-V
- Виртуализация представлений на базе Microsoft Terminal Services и Virtual Desktop Infrastructure
- Виртуализация приложений на базе Microsoft Application Virtualization
- Стратегический ИТ-аутсорсинг
- ИТ-аутсорсинг сопровождения информационных систем
- Техническая поддержка ИТ-инфраструктуры
- ИТ-аутсорсинг — взгляд руководителя
- Компьютерное обслуживание
- Аудит информационных систем
- Аудит информационной безопасности
- ИТ-консалтинг в области построения и реорганизации ИТ-инфраструктур
- Организация процессов управления ИТ-инфраструктурой
- Системы резервного копирования Symantec BackUp Exec (Veritas)
- Системы резервного копирования Microsoft System Center Data Protection Manager
- Veeam BackUp https://www.lankey.ru/kis/sql-server/» target=»_blank»]www.lankey.ru[/mask_link]
Microsoft SQL Server 2012. Руководство для начинающих.
Просто и доступно рассмотрены теоретические основы СУБД SQL Server 2012. Показана установка, конфигурирование и поддержка MS SQL Server 2012. Описан язык манипулирования данными Transact-SQL. Рассмотрены создание базы данных, изменение таблиц и их содержимого, запросы, индексы, представления, триггеры, хранимые процедуры и функции, определенные пользователем.
Показана реализация безопасности с использованием аутентификации, шифрования и авторизации. Уделено внимание автоматизации задач администрирования СУБД. Рассмотрено создание резервных копий данных и выполнение восстановления системы.
Thumbnails Document Outline Attachments
Highlight all Match case
Presentation Mode Current View
Go to First Page Go to Last Page
Rotate Clockwise Rotate Counterclockwise
Text Selection Tool Hand Tool
Document Properties…Toggle Sidebar
Presentation Mode Current View
More Information Less InformationPDF Producer:
Page Count:КОМПЬЮТЕРНАЯ БИБЛИОТЕКА ОНЛАЙН
Установка операционных систем.
• Правильно, быстро, надежно и качественно установить и настроить, а также помочь выбрать нужную операционную систему помогут мастера нашего центра.
Установка программного обеспечения.
• Наши специалисты имеют огромный опыт в установке и настройке различного программного обеспечения. Они быстро и качественно установят и настроят любые программы.
• Восстановление информации на жестких дисках. Восстановление удалённых файлов. Восстановление после форматирования. Восстановление данных с флэш носителя.
Удаление компьютерных вирусов.
• Лучше если удалением вирусов займутся специалисты, они установят антивирусную программу, которая в будущим защитит компьютер от проникновения вирусов.
• Диагностику компьютера стоит проводить регулярно, не дожидаясь, пока техника даст сбой. В этом случае ваш ПК будет служить вам долго.
• Мы оказываем качественные и надежные услуги по ремонту компьютеров самого разного уровня. Возможность выполнения ремонта как в офисе, так и на дому.
Сборка компьютера на заказ.
• Специалисты нашей компании помогут вам организовать сборку компьютера, и переведут ваши пожелания в конкретные совместимые комплектующие.
Установка рабочих станций.
• Мы предлагаем услуги по установке и настройке рабочих станций в составе сетей любой конфигурации, поможем вам сделать оптимальный выбор оборудования и программного обеспечения.
Установка и настройка серверов.
• Мы предлагаем услуги по установке и настройке серверов в составе сетей любой конфигурации, поможем вам сделать оптимальный выбор оборудования и программного обеспечения.
Установка и настройка оргтехники.
• Установка и настройка оргтехники дома или в офисе. Принтеры, сканеры, МФУ, другая оргтехника – важная составляющая повседневной жизни современного человека.
• Wi-Fi сеть для дома или в офис – это современное, удобное и эффективное решение для организации Wi-Fi зон для подключения различных устройств, поддерживающих технологию Wi-Fi.
• Чистка компьютера от пыли – это важная операция, которую должен проводить каждый пользователь компьютера.
Источник: www.kavserver.ru
SQL Server 2012 — что нового для разработчика?
1 апреля 2012 г. стала доступна финальная версия Microsoft SQL Server 2012.
В новой версии появилось большое количество нововведений.
В данной статье я хотел бы подробнее остановиться на обзоре ряда новшеств для разработчика баз данных.1. Новые предложения OFFSET и FETCH для ограничения числа возвращаемых строк
Наконец-то в SQL Server появился нормальный пейджинг.
Теперь запрос для получения вторых 10 записей набора (2-я страница) выглядит так:SELECT DepartmentID, Name, GroupName FROM HumanResources.Department ORDER BY DepartmentID OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
В версиях SQL 2005/2008 мы должны были писать примерно так:
WITH CTE AS ( SELECT DepartmentID, Name, GroupName, ROW_NUMBER() OVER (ORDER BY DepartmentID) AS RowNum FROM HumanResources.Department ) SELECT DepartmentID, Name, GroupName FROM CTE WHERE RowNum BETWEEN 10 AND 19 ORDER BY RowNum2. В предложении OVER была расширена поддержка оконных функций
С помощью предложений ROWS или RANGE можно еще больше ограничить строки в пределах секции, указывая начальную и конечную точки.
Например, запрос для вывода нарастающего итога:SELECT DepartmentID, SaleDate, SUM(SalesYTD) OVER (PARTITION BY DepartmentID ORDER BY SaleDate ROWS UNBOUNDED PRECEDING) AS Total FROM dbo.Sales
- FIRST_VALUE
- LAST_VALUE
- CUME_DIST
- PERCENTILE_DISC
- PERCENT_RANK
- PERCENTILE_CONT
- LEAD
- LAG
SELECT MIN(Ask) OVER (PARTITION BY Pair, Candle) AS Low, MAX(Ask) OVER (PARTITION BY Pair, Candle) AS High, FIRST_VALUE(Ask) OVER (PARTITION BY Pair, Candle) AS Open, LAST_VALUE(Ask) OVER (PARTITION BY Pair, Candle) AS Close FROM dbo.Quotes WHERE Pair=’EURUSD’ and Candle = 100
4. Появились последовательности (SEQUENCE)
Еще одно долгожданное улучшение. Каких только костылей не приходилось городить, чтобы реализовать нумерацию документов с начала года.
Пример использования:5. На смену RAISERROR пришла инструкция THROW
- PARSE
- TRY_CONVERT
- TRY_PARSE
- DATEFROMPARTS
- DATETIME2FROMPARTS
- DATETIMEFROMPARTS
- DATETIMEOFFSETFROMPARTS
- EOMONTH
- SMALLDATETIMEFROMPARTS
- TIMEFROMPARTS
- CHOOSE
- IIF
- CONCAT
- FORMAT
В SQL Server 2012:Или, вместо:
Tеперь можно написать:
7. Таблицы FileTable
Теперь SQL Server обеспечивает хранение файлов и документов в специальных таблицах, при этом доступ к ним возможен из приложений Windows таким же образом, как если бы они хранились в файловой системе, без внесения каких-либо изменений в приложения Windows.
Подробнее тут: msdn.microsoft.com/ru-ru/library/ff929144.aspx8. Статистический семантический поиск
Совместно с функцией FileTable статистический семантический поиск обеспечивает глубокий анализ неструктурированных документов.
Семантический поиск построен на основе существующего компонента полнотекстового поиска в SQL Server и реализует новые сценарии, обеспечивая поиск не по ключевым словам, а по значению документа.
Например, по индексу ключевых фраз можно построить классификацию или свод технической документации. Или по индексу схожести документов найти резюме лучше всего подходящие к описанию должности.
Подробнее тут: msdn.microsoft.com/ru-ru/library/gg492075.aspx- Блог компании «ООО «Рус Визардс»»
- Microsoft SQL Server
Источник: habr.com
Система управления базами данных SQL Server
— это общий набор различных программных компонентов баз данных и собственно баз данных, содержащий следующие составляющие:
- прикладные программы баз данных;
- клиентские компоненты;
- серверы баз данных;
- собственно базы данных.
Прикладная программа баз данных представляет собой программное обеспечение специального назначения, разработанное и реализованное пользователями или сторонними компаниями-разработчиками ПО. В противоположность, клиентские компоненты — это программное обеспечение баз данных общего назначения, разработанное и реализованное компанией-разработчиком базы данных. С помощью клиентских компонентов пользователи могут получить доступ к данным, хранящимся на локальном или удаленном компьютере.
Сервер баз данных выполняет задачу управления данными, хранящимися в базе данных. Клиенты взаимодействуют с сервером баз данных, отправляя ему запросы. Сервер обрабатывает каждый полученный запрос и отправляет результаты соответствующему клиенту.
Возможности СУБД
В общих чертах, базу данных можно рассматривать с двух точек зрения — пользователя и системы базы данных. Пользователи видят базу данных как набор логически связанных данных, а для системы баз данных это просто последовательность байтов, которые обычно хранятся на диске. Хотя это два полностью разных взгляда, между ними есть что-то общее: система баз данных должна предоставлять не только интерфейс, позволяющий пользователям создавать базы данных и извлекать или модифицировать данные, но также системные компоненты для управления хранимыми данными. Поэтому система баз данных должна предоставлять следующие возможности:
- разнообразные пользовательские интерфейсы;
- физическую независимость данных;
- логическую независимость данных;
- оптимизацию запросов;
- целостность данных;
- управление параллелизмом;
- резервное копирование и восстановление;
- безопасность баз данных.
Все эти возможности вкратце описываются в следующих далее разделах.
Разнообразные пользовательские интерфейсы
Большинство баз данных проектируются и реализовываются для работы с ними разных типов пользователей, имеющих разные уровни знаний. По этой причине система баз данных должна предоставлять несколько отдельных пользовательских интерфейсов. Пользовательский интерфейс может быть графическим или текстовым.
В графических интерфейсах ввод осуществляется посредством клавиатуры или мыши, а вывод реализуется в графическом виде на монитор. Разновидностью текстового интерфейса, часто используемого в системах баз данных, является интерфейс командной строки, с помощью которого пользователь осуществляет ввод посредством набора команд на клавиатуре, а система отображает вывод в текстовом формате на мониторе.
Физическая независимость данных
Физическая независимость данных означает, что прикладные программы базы данных не зависят от физической структуры данных, хранимых в базе данных. Эта важная особенность позволяет изменять хранимые данные без необходимости вносить какие-либо изменения в прикладные программы баз данных.
Например, если данные были сначала упорядочены по одному критерию, а потом этот порядок был изменен по другому критерию, изменение физических данных не должно влиять на существующие приложения баз данных или ее схему (описание базы данных, созданное языком определения данных системы базы данных).
Логическая независимость данных
При обработке файлов, используя традиционные языки программирования, файлы объявляются прикладными программами, поэтому любые изменения в структуре файла обычно требуют внесения соответствующих изменений во все использующие его программы.
Системы баз данных предоставляют логическую независимость файлов, т.е., иными словами, логическую структуру базы данных можно изменять без необходимости внесения каких-либо изменений в прикладные программы базы данных. Например, добавление атрибута к уже существующей в системе баз данных структуре объекта с именем Person (например, адрес) вызывает необходимость модифицировать только логическую структуру базы данных, а не существующие прикладные программы. (Однако приложения потребуют модифицирования для использования нового столбца.)
Оптимизация запросов
Большинство систем баз данных содержат подкомпонент, называющийся оптимизатором, который рассматривает несколько возможных стратегий исполнения запроса данных и выбирает из них наиболее эффективную. Выбранная стратегия называется планом исполнения запроса. Оптимизатор принимает решение, принимая во внимание такие факторы, как размер таблиц, к которым направлен запрос, существующие индексы и логические операторы (AND, OR или NOT), используемые в предложении WHERE.
Целостность данных
Одной из стоящих перед системой баз данных задач является идентифицировать логически противоречивые данные и не допустить их помещения в базу данных. (Примером таких данных будет дата «30 февраля» или время «5:77:00».) Кроме этого, для большинства реальных задач, которые реализовываются с помощью систем баз данных, существуют ограничения для обеспечения целостности (integrity constraints), которые должны выполняться для данных. (В качестве примера ограничения для обеспечения целостности можно назвать требование, чтобы табельный номер сотрудника был пятизначным целым числом.)
Обеспечение целостности данных может осуществляться пользователем в прикладной программе или же системой управления базами данных. До максимально возможной степени эта задача должна осуществляться посредством СУБД.
Управление параллелизмом
Система баз данных представляет собой многопользовательскую систему программного обеспечения, что означает одновременное обращение к базе данных множественных пользовательских приложений. Поэтому каждая система баз данных должна обладать каким-либо типом механизма, обеспечивающим управление попытками модифицировать данные несколькими приложениями одновременно. Далее приводится пример проблемы, которая может возникнуть, если система баз данных не оснащена таким механизмом управления:
- На общем банковском счете № 3811 в банке X имеется $1500.
- Владельцы этого счета, госпожа А и господин Б, идут в разные отделения банка и одновременно снимают со счета по $750 каждый.
- Сумма, оставшаяся на счету № 3811 после этих транзакций, должна быть $0, и ни в коем случае не $750.
Все системы баз данных должны иметь необходимые механизмы для обработки подобных ситуаций, обеспечивая управление параллелизмом.
Резервное копирование и восстановление
Система баз данных должна быть оснащена подсистемой для восстановления после ошибок в программном и аппаратном обеспечении. Например, если в процессе обновления 100 строк таблицы базы данных происходит сбой, то подсистема восстановления должна выполнить откат всех выполненных обновлений, чтобы обеспечить непротиворечивость данных.
Безопасность баз данных
Наиболее важными понятиями безопасности баз данных являются аутентификация и авторизация. Аутентификация — это процесс проверки подлинности учетных данных пользователя, чтобы не допустить использования системы несанкционированными пользователями. Аутентификация наиболее часто реализуется, требуя, чтобы пользователь вводил свое имя пользователя и пароль. Система проверяет достоверность этой информации, чтобы решить, имеет ли данный пользователь право входа в систему или нет. Этот процесс можно усилить применением шифрования.
Авторизация — это процесс, применяемый к пользователям, уже получившим доступ к системе, чтобы определить их права на использование определенных ресурсов. Например, доступ к информации о структуре базы данных и системному каталогу определенной сущности могут получить только администраторы.
Системы реляционных баз данных
Компонент Database Engine сервера Microsoft SQL Server является системой реляционных баз данных. Понятие систем реляционных баз данных было впервые введено в 1970 г. Эдгаром Ф. Коддом в статье «A Relational Model of Data for Large Shared Data Banks». В отличие от предшествующих систем баз данных (сетевых и иерархических), реляционные системы баз данных основаны на реляционной модели данных, обладающей мощной математической теорией.
— это набор концепций, взаимосвязей между ними и их ограничений, которые используются для представления данных в реальной задаче. Центральным понятием реляционной модели данных является таблица. Поэтому, с точки зрения пользователя, реляционная база данных содержит только таблицы и ничего больше. Таблицы состоят из столбцов (одного или нескольких) и строк (ни одной или нескольких). Каждое пресечение строки и столбца таблицы всегда содержит ровно одно значение данных.
Работа с демонстрационной базой данных в последующих статьях
Используемая в наших статьях база данных SampleDb представляет некую компанию, состоящую из отделов (department) и сотрудников (employee). Каждый сотрудник принадлежит только одному отделу, а отдел может содержать одного или нескольких сотрудников. Сотрудники работают над проектами (project): в любое время каждый сотрудник занят одновременно в одном или нескольких проектах, а над каждым проектом может работать один или несколько сотрудников.
Эта информация представлена в базе данных SampleDb (находится в исходниках) посредством четырех таблиц:
Department Employee Project Works_on
Организация этих таблиц показана на рисунках ниже. Таблица Department представляет все отделы компании. Каждый отдел обладает следующими атрибутами (столбцами):
Department (Number, DepartmentName, Location)
Атрибут Number представляет однозначный номер каждого отдела, атрибут DepartmentName — его название, а атрибут Location — расположение. Таблица Employee представляет всех работающих в компании сотрудников. Каждый сотрудник обладает следующими атрибутами (столбцами):
Employee (Id, FirstName, LastName, DepartmentNumber)
Атрибут Id представляет однозначный табельный номер каждого сотрудника, атрибуты FirstName и LastName — имя и фамилию сотрудника соответственно, а атрибут DepartmentNumber — номер отдела, в котором работает сотрудник.
Все проекты компании представлены в таблице проектов Project, состоящей из следующих столбцов (атрибутов):
Project (ProjectNumber, ProjectName, Budget)
В столбце ProjectNumber указывается однозначный номер проекта, а в столбцах ProjectName и Budget — название и бюджет проекта соответственно.
В таблице Works_on указывается связь между сотрудниками и проектами:
Works_on (EmpId, ProjectNumber, Job, EnterDate)
В столбце EmpId указывается табельный номер сотрудника, а в столбце ProjectNumber — номер проекта, в котором он принимает участие. Комбинация значений этих двух столбцов всегда однозначна. В столбцах Job и EnterDate указывается должность и начало работы сотрудника в данном проекте соответственно.
На примере базы данных SampleDb можно описать некоторые основные свойства реляционных систем баз данных:
- Строки таблицы не организованы в каком-либо определенном порядке.
- Также не организованы в каком-либо определенном порядке столбцы таблицы.
- Каждый столбец таблицы должен иметь однозначное имя в любой данной таблице. Но разные таблицы могут содержать столбцы с одним и тем же именем. Например, таблица Department содержит столбец Number и столбец с таким же именем имеется в таблице Project.
- Каждый элемент данных таблицы должен содержать одно значение. Это означает, что любая ячейка на пересечении строк и столбцов таблицы никогда не содержит какого-либо набора значений.
- Каждая таблица содержит, по крайней мере, один столбец, значения которого определяют такое свойство, что никакие две строки не содержат одинаковой комбинации значений для всех столбцов таблицы. В реляционной модели данных такой столбец называться потенциальным ключом (candidate key). Если таблица содержит несколько потенциальных ключей, разработчик указывает один из них, как первичный ключ (primary key) данной таблицы. Например, первичным ключом таблицы Department будет столбец Number, а первичными ключами таблиц Employee будет Id. Наконец, первичным ключом таблицы Works_on будет комбинация столбцов EmpId и ProjectNumber.
- Таблица никогда не содержит одинаковых строк. Но это свойство существует только в теории, т.к. компонент Database Engine и все другие реляционные системы баз данных допускают существование в таблице одинаковых строк.
SQL — язык реляционной базы данных
Язык реляционной базы данных в системе SQL Server называется Transact-SQL. Это разновидность самого значимого на сегодняшний день языка базы данных — . Происхождение языка SQL тесно связано с проектом, называемым System R, разработанным и реализованным компанией IBM еще в начале 80-х годов прошлого столетия. Посредством этого проекта было продемонстрировано, что, используя теоретические основы работы Эдгара Ф. Кодда, возможно создание системы реляционных баз данных.
В отличие от традиционных языков программирования, таких как C#, C++ и Java, язык SQL является множество-ориентированным (set-oriented). Разработчики языка также называют его запись-ориентированным (record-oriented). Это означает, что в языке SQL можно запрашивать данные из нескольких строк одной или нескольких таблиц, используя всего лишь одну инструкцию. Это одно из наиболее важных преимуществ языка SQL, позволяющее использовать этот язык на логически более высоком уровне, чем традиционные языки программирования.
Другим важным свойством языка SQL является его непроцедурность. Любая программа, написанная на процедурном языке (C#, C++, Java), пошагово описывает, как выполнять определенную задачу. В противоположность этому, язык SQL, как и любой другой непроцедурный язык, описывает, что хочет пользователь. Таким образом, ответственность за нахождение подходящего способа для удовлетворения запроса пользователя лежит на системе.
Язык SQL содержит два подъязыка: язык описания данных DDL (Data Definition Language) и язык обработки данных DML (Data Manipulation Language). Инструкции языка DDL также применяются для описания схем таблиц баз данных. Язык DDL содержит три общие инструкции SQL: CREATE, ALTER и DROP. Эти инструкции используются для создания, изменения и удаления, соответственно, объектов баз данных, таких как базы данных, таблицы, столбцы и индексы.
В отличие от языка DDL, язык DML охватывает все операции по манипулированию данными. Для манипулирования базами данных всегда применяются четыре общие операции: извлечение, вставка, удаление и модифицирование данных (SELECT, INSERT, DELETE, UPDATE).
Источник: professorweb.ru