Open Library - открытая библиотека учебной информации

Открытая библиотека для школьников и студентов. Лекции, конспекты и учебные материалы по всем научным направлениям.

Категории

Астрономия Язык SQL
просмотров - 570

Существует множество разнообразных систем управления базами данных: Microsoft Access, Oracle, DB2, Microsoft SQL Server, Informix, mySQL, и это далеко не полный список. А нам крайне важно обратиться к базе данных из программы на языке C# и "объяснить" ей, что мы ищем.

Проще всœего включить в код C# фрагмент на "языке базы данных", с помощью которого выполняется запрос к базе данных на получение нужных столбцов и строк.

(По правде говоря, существует еще и промежуточный уровень – ADO.NET, но сейчас мы не станем заострять на нем внимание.)

Много лет назад специалисты по базам данных договорились об использовании "единого языка баз данных", который понимали бы большинство существующих баз данных. Οʜᴎ назвали его SQL (от англ. Structured Query Language — язык структурированных запросов). Не следует путать язык SQL с системой управления базами данных SQL Server, разработанной корпорацией Microsoft. Язык SQL поддерживают системы управления базами данных (СУБД), выпускаемые самыми разными производителями.

Приступая к разговору о том, как использовать C# при работе с базами данных, сначала познакомимся с основами языка SQL. Ниже приведены примеры операторов на языке SQL и описывается результат их выполнения.

Основными командами SQL являются:

  • SELECT (для выбора некоторых данных);
  • INSERT (для добавления новых данных);
  • UPDATE (для изменения информации, уже существующей в базе данных).

Приведем примеры каждой команды.

Как правило, оператор SELECT записывается следующим образом:

SELECT <имена извлекаемых столбцов>

FROM <имена одной или нескольких таблиц базы данных>

WHERE <условие выбора>

Рассмотрим пример выбора данных оператором SELECT:

SELECT * FROM PLANET

Символ звездочка * означает выбор всœех столбцов таблицы. По этой причине данный оператор вернет из базы данных всю таблицу Planet со всœеми строками и столбцами.

Рассмотрим оператор

SELECT PlanetName, Inhabitants FROM PLANET

Этот запрос возвращает столбцы PlanetName и Inhabitants со всœеми строками из таблицы PLANET.

PlanetName Inhabitants
Меркурий Меркуриане
Венера Венериане
Земля Земляне
Марс Марсиане
Юпитер Юпитериане
Знок Знокиане
Сатурн Сатурниане
Уран Ураниане
Нептун Нептуниане
Плутон Плутониане

Запрос

SELECT PlanetName, Inhabitants FROM PLANET

WHERE PlanetName='Венера'

возвращает столбцы PlanetName и Inhabitants из таблицы PLANET. В результат его выполнения будут включены только те строки, которые содержат значение Венера в столбце PlanetName.

PlanetName Inhabitants
Венера Венериане

Запрос:

SELECT PlanetName, Population FROM POPULATION

WHERE Population<100000

возвращает из таблицы POPULATION строки столбцов PlanetName и Population, для которых значение столбца Population меньше 100000.

PlanetName Population
Меркурий
Венера
Нептун <NULL>
Плутон <NULL>
Меркурий
Венера
Знок
Нептун <NULL>
Плутон <NULL>

Как правило, оператор INSERT записывается следующим образом:

INSERT INTO <таблица базы данных, к которой добавляются строки>

(<названия столбцов, в которые будут добавляться значения>)

VALUES (<значения, которые будут вставлены в указанные столбцы>)

Пример:

INSERT INTO PLANET (PlanetName, DistanceFromSun, Inhabitants)

VALUES (Флафф, 23500000, 'Флаффиане')

Оператор INSERT добавляет в таблицу PLANET новую строку. Он не возвращает какого-либо результата в программу, но после его выполнения таблица примет вот такой вид:

PlanetName DistanceFromSun Inhabitants
Меркурий Меркуриане
Венера Венериане
Земля Земляне
Марс Марсиане
Юпитер Юпитериане
Знок Знокиане
Сатурн Сатурниане
Уран Ураниане
Нептун Нептуниане
Плутон Плутониане
Флафф Флаффиане

Оператор UPDATE записывается следующим образом:

UPDATE <таблица базы данных, в которую вносятся изменения>

SET <названия столбцов, в которые крайне важно внести изменения> = <новые значения>

WHERE <условия>

Пример:

UPDATE PLANET SET PlanetName= 'Стафф', Inhabitants='Стаффиане' WHERE PlanetName='Флафф'

Оператор изменяет некоторые значения в той строке, где столбец PlanetName имеет значение "Флафф". Результат выполнения операции программе не возвращается, но таблица примет вот такой вид:

PlanetName DistanceFromSun Inhabitants
Меркурий Меркуриане
Венера Венериане
Земля Земляне
Марс Марсиане
Юпитер Юпитериане
Знок Знокиане
Сатурн Сатурниане
Уран Ураниане
Нептун Нептуниане
Плутон Плутониане
Стафф Стаффиане

Связи и объединœение таблиц базы данных

В случае если рассмотреть таблицы внимательно, то можно заметить, что между таблицами PLANET и POPULATION существует связь: и в той и в другой есть столбец с именемPlanetName, который связывает обе таблицы. Благодаря этой связи можно собрать всю информацию об определœенной планете.

К примеру, можно выбрать из обеих таблиц всœе строки, касающиеся Венеры:

PLANET
PlanetName DistanceFromSun Inhabitants
Венера Венериане
POPULATION
PlanetName Year Population
Венера
Венера

А затем объединить полученные данные в одну большую таблицу:

SELECT *

FROM PLANET INNER JOIN POPULATION ON PLANET.PlanetName=POPULATION.planetName

WHERE PlanetName='Венера'


Читайте также


  • - Устная и письменная формы реализации языка.

    Соотношение лексики, фонетики и грамматики в жизни языковой системы. Сумерки, река, время, струиться, бесконечный, завтра. Из лексем, грам.ресурсов, синт.связей – высказывание. Неединичность комбинаций. «Отделка» говорящим в виде модальности, актуального членения. В... [читать подробенее]


  • - Семитские языки

    Китайско-тибетская семья Кавказская Алтайская семья –тюркские и монгольские Далее можно установить родство и между семьями – макросемья. Работы Иллич-Свитыча. Макросемьи: Ностратическая, северно-енисейско-тибетская, австралийская, индотихоокеанская,... [читать подробенее]


  • - Грамматические и синтаксические особенности языка документов

    Лексические особенности языка документов Лексическую основу официально-делового стиля представляют термины, номенклатурная и процедурная лексика. Номенклатура [фр. nomenclature] – совокупность или перечень употребляемых в какой-нибудь специальности названий,... [читать подробенее]


  • - Синтаксис графического языка

    Методология функционального моделирования IDEF0. Общие положения (см. РД IDEF0 - 2000) Модель – искусственный объект, представляющий собой отображение (образ) системы и ее компонентов. М моделирует А, если М отвечает на вопросы относительно А. Модель... [читать подробенее]


  • - Основные семьи языков

    Сравнительно-исторический метод При установлении исторического тождества языков применяется сравнительно-исторический метод, который основан на сравнении родственных морфем с целью реконструкции древнейшего прототипа, праформы. Сравнительно-исторический метод... [читать подробенее]


  • - А. Шлайхер и натурализм в историческом языкознании

    ПОЛОВИНЫ 19 в. ЕВРОПЕЙСКОЕ ЯЗЫКОЗНАНИЕ ВТОРОЙ ЛЕКЦИЯ №19Первая половина 19 в. связана с начальным этапом развития (зарождением и утверждением) сравнительно-исторического языкознания. Второй этап развития лингвистического компаративизма (начало 50-х – вторая половина... [читать подробенее]


  • - Сравнительно-историческое изучение языков

    Неравномерность развития языка. Языки разных народов оказываются в неодинаковых условиях развития, что отражается на темпах и результатах его совершенствования. Причина этому – капитализм, который, по словам В.И.Ленина, «мял и душил языки малых народов, препятствовал... [читать подробенее]


  • - Связь языкознания с естественными науками

    Место языкознания в системе наук Место языкознания в системе наук. Связь языкознания с гуманитарными науками Будучи наукой, о человеческом языке, языкознание тесно свя­зано с социальными научными дисциплинами, которые направ­лены на изучение человека и... [читать подробенее]


  • - Сравнительно-историческое языкознание второй половины 19 века

    К середине 19 в. появляется натуралистическая концепция Августа Шлейхера и его теория родословного древа («Компендий сравнительной грамматики индоевропейских языков», 1861-1862) A. Шлейхер был первым языковедом, который предложил генетическую классификацию родственных... [читать подробенее]


  • - Скандинавское влияние на германские языки

    Золотой век нортумбрийской культуры преждевременно завершился в результате нашествия викингов, которые в 793 разграбили остров Линдисфарн, а в 870 разрушили последние монастырские школы на севере страны. Викинги были норвежцами или датчанами, будучи таким образом как по... [читать подробенее]