Как создать базу данных через sql запрос
Перейти к содержимому

Как создать базу данных через sql запрос

  • автор:

Создание базы данных SQL и таблиц базы данных на примере

Создадим базу данных, краткое описание проекта которой — в статье Основы проектирования базы данных — пример.

Для этого понадобится установленная система управления базами данных (СУБД) DB2. Мы будем использовать диалект языка SQL, который используется именно в этой СУБД.

Первая команда, которую мы будем применять для создании базы данных — это команда CREATE DATABASE. Её синтаксис следующий:

CREATE DATABASE ИМЯ_БАЗЫ ДАННЫХ

Далее для создания таблиц нашей базы данных будем многократно использовать команду CREATE TABLE. Её синтаксис следующий:

CREATE TABLE ИМЯ_ТАБЛИЦЫ (имя_первого_столбца тип данных, . имя_последнего_столбца тип данных, первичный ключ, ограничения (не обязательно))

Так как наша база данных моделирует сеть аптек, то в ней есть такие сущности, как «Аптека» (таблица Pharmacy в нашем примере создания базы данных), «Препарат» (таблица Preparation в нашем примере создания базы данных), «Доступность (препаратов в аптеке)» (таблица Availability в нашем примере создания базы данных), «Клиент» (таблица Client в нашем примере создания базы данных) и другие, которые здесь подробно и разберём.

Разработке модели «сущность-связь» можно посвятить не одну статью, но если нас прежде всего интересуют команды языка SQL для создания базы данных и таблиц в ней, то условимся считать, что связи между сущностями уже нам понятны. На рисунке ниже приведено представление модели нашей базы данных с атрибутами сущностей (таблиц) и связями между таблицами.

Для увеличения рисунка можно нажать на него левой кнопкой мыши.

При создании базы данных, в которой таблицы связаны между собой, важно позаботиться о целостности данных. Это означает, например, что если если удалить препарат из таблицы Preparation, то должны удалиться все записи этого препарата в таблице Availability. Ещё пример ограничения целостности: нужно установить запрет на удаление названия группы препарата из таблицы Group, если существует хотя бы один препарат этой группы. Особый случай составляет изменение данных в одной таблице, когда производятся действия с данными в другой таблице. Об этом поговорим в конце статьи. Можно также углубиться в теорию на уроке Реляционная модель данных.

Как уже говорилось, в разбираемом здесь примере создания базы данных использовался вариант языка SQL, который используется в системе управления базами данных (СУБД) DB2. Он является регистронезависимым, то есть не имеет значение, набраны ли команды и отдельные слова в них строчными или прописными буквами. Для иллюстрации этой особенности приведены команды без особой системы набранные строчными и прописными буквами.

Теперь приступим к созданию команд. Первая наша команда SQL создаёт базу данных PHARMNETWORK:

Код SQL

CREATE DATABASE PHARMNETWORK

Описание таблицы PHARMACY (Аптека):

Имя поля Тип данных Описание
PH_ID smallint Идентификационный номер аптеки
Address varchar(40) Адрес аптеки

Пишем команду, которая создаёт таблицу PHARMACY (Аптека), значения первичного ключа PH_ID генерируются автоматически от 1 с шагом 1, вносится проверка на то, чтобы значения атрибута Address в этой таблице были уникальными:

Код SQL

CREATE TABLE PHARMACY(PH_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), Address varchar(40) NOT NULL, PRIMARY KEY(PH_ID), CONSTRAINT PH_UNIQ UNIQUE(Address))

Следует обратить внимание на то, что автоматическое генерирование первичного ключа с приращением обеспечено средствами, применяемыми в диалекте SQL для DB2:

Код SQL

PH_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1)

Средства автоматического генерирования первичного ключа с приращением (кратко это называется автоинкрементом) в разных диалектах SQL различаются. Так, в MySQL используется ключевое слово AUTO_INCREMENT и соответствующая часть запроса на создание таблицы выглядит следующим образом:

Код SQL

PH_ID int(4) NOT NULL AUTO_INCREMENT

В SQL Server механизм автоинктемента обеспечивается так:

Код SQL

PH_ID int IDENTITY(1, 1) PRIMARY KEY

Запись (1, 1) здесь означает, что значения первичного ключа должны создаваться начиная с 1 с приращением на 1. Итак, помните о том, что в зависимости от СУБД и диалекта SQL механизмы автоинкремента различаются, а далее для краткости будем приводить запросы на создание таблиц в соответствии с синтаксисом для DB2.

Описание таблицы GROUP (Группа препаратов):

Имя поля Тип данных Описание
GR_ID smallint Идентификационный номер группы препаратов
Name varchar(40) Название группы препаратов

Пишем команду, которая создаёт таблицу Group (Группа препаратов), значения первичного ключа GR_ID генерируются автоматически от 1 с шагом 1, проводится проверка уникальности наименования группы (для этого используется ключевое слово CONSTRAINT):

Код SQL

CREATE TABLE GROUP(GR_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), Name varchar(40) NOT NULL, PRIMARY KEY(GR_ID), CONSTRAINT GR_UNIQ UNIQUE(Name))

Описание таблицы PREPARATION (Препарат):

Имя поля Тип данных Описание
PR_ID smallint Идентификационный номер препарата
GR_ID smallint Идентификационный номер группы препарата
Name varchar(40) Название препарата

Команда, которая создаёт таблицу PREPARATION, значения первичного ключа PR_ID генерируются автоматически от 1 с шагом 1, определяется, что значения внешнего ключа GR_ID (Группа препаратов) не могут принимать значение NULL, определена проверка уникальности значений атрибута Name:

Код SQL

CREATE TABLE PREPARATION(PR_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), Name varchar(40) NOT NULL, GR_ID int NOT NULL, PRIMARY KEY(PR_ID), constraint PR_UNIQ UNIQUE(Name))

Далее нам требуется позаботиться об ограничениях целостности. Это очень удобно слелать с помощью команды alter table. Эта команда изучается на уроке SQL ALTER TABLE — изменение таблицы базы данных.

Теперь самое время создать таблицу AVAILABILITY (Доступность или Наличие препарата в аптеке). Её описание:

Имя поля Тип данных Описание
A_ID smallint Идентификационный номер записи о доступности
PH_ID smallint Идентификационный номер аптеки
PR_ID smallint Идентификационный номер препарата
Quantity int Количество доступного препарата
DateStart varchar(20) Дата начала работы аптеки с данным препаратом
DateEnd varchar(20) Дата окончания работы аптеки с данным препаратом
Mart varchar(3) Выставлен ли препарат на витрину

Пишем команду, которая создаёт таблицу AVAILABILITY. Определяются даты начала (не может быть NULL) и окончания (по умолчанию NULL).

Код SQL

CREATE TABLE AVAILABILITY(A_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), PH_ID INT NOT NULL, PR_ID INT NOT NULL, DateStart varchar(20) NOT NULL, DateEnd varchar(20) DEFAULT NULL, QUANTITY INT NOT NULL, MART varchar(3) DEFAULT NULL, PRIMARY KEY(A_ID), CONSTRAINT AVA_UNIQ UNIQUE(PH_ID, PR_ID))

Создаём таблицу DEFICIT (Дефицит препарата в аптеке, то есть, неудовлетворённый запрос). Её описание:

Имя поля Тип данных Описание
D_ID smallint Идентификационный номер записи о дефиците
PH_ID smallint Идентификационный номер аптеки
PR_ID smallint Идентификационный номер препарата
Solution varchar(40) Решение проблемы дефицита
DateStart varchar(20) Дата появления проблемы
DateEnd varchar(20) Дата решения проблемы

Пишем команду, которая создаёт таблицу DEFICIT:

Код SQL

CREATE TABLE DEFICIT(D_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), PH_ID INT NOT NULL, PR_ID INT NOT NULL, Solution varchar(40) NOT NULL, DateStart varchar(20) NOT NULL, DateEnd varchar(20) DEFAULT NULL)

Осталось немного. Мы уже дошли до команды, которая создаёт таблицу Employee (Сотрудник). Её описание:

Имя поля Тип данных Описание
E_ID smallint Идентификационный номер сотрудника
PH_ID smallint Идентификационный номер аптеки
FName varchar(40) Имя сотрудника
LName varchar(40) Фамилия сотрудника
Post varchar(40) Должность

Пишем команду, которая создаёт таблицу Employee (Сотрудник), с первичным ключом, генерируемым по тем же правилам, что и первичные ключи предыдущих таблиц, в которых они существуют. Внешним ключом PH_ID Сотрудник связан с PHARMACY (Аптекой).:

Код SQL

CREATE TABLE EMPLOYEE(E_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), F_Name varchar(40) NOT NULL, L_Name varchar(40) NOT NULL, POST varchar(40) NOT NULL, PH_ID INT NOT NULL, PRIMARY KEY(E_ID))

Очередь дошла до создании таблицы CLIENT (Клиент). Её описание:

Имя поля Тип данных Описание
C_ID smallint Идентификационный номер клиента
FName varchar(40) Имя клиента
LName varchar(40) Фамилия клиента
DateReg varchar(20) Дата регистрации

Пишем команду, создающую таблицу CLIENT (Клиент), в отношении первичного ключа которого справедливо предыдущее описание. Особенность этой таблицы в том, что её атрибуты F_Name и L_Name имеют по умолчанию значение NULL. Это связано с тем, что клиенты могут быть как зарегистрированными, так и незарегистрированными. У последних значения имени и фамилии как раз и будут неопределёнными (то есть NULL):

Код SQL

CREATE TABLE CLIENT(C_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), FName varchar(40) DEFAULT NULL, LName varchar(40) DEFAULT NULL, DateReg varchar(20), PRIMARY KEY(C_ID))

Предпоследняя таблица в нашей базе данных — таблица BASKET (Корзина покупок). Её описание:

Имя поля Тип данных Описание
BS_ID smallint Идентификационный номер корзины покупок
E_ID smallint Идентификационный номер сотрудника, оформившего корзину
C_ID smallint Идентификационный номер клиента

Пишем команду, создающую таблицу BASKET (Корзина покупок), так же с уникальным и инкрементируемым первичным ключом и связанную внешним ключами C_ID и E_ID с Клиентом и Сотрудником соответственно:

Код SQL

CREATE TABLE BASKET(BS_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), C_ID INT NOT NULL, E_ID INT NOT NULL, PRIMARY KEY(BS_ID))

И, наконец, последняя таблица в нашей базе данных — таблица BUYING (покупка). Её описание:

Имя поля Тип данных Описание
B_ID smallint Идентификационный номер покупки
PH_ID smallint Идентификационный номер аптеки
PR_ID smallint Идентификационный номер препарата
BS_ID varchar(40) Идентификационный номер корзины покупок
Price varchar(20) Цена
Date varchar(20) Дата

Пишем команду, создающую таблицу BUYING (покупка), так же с уникальным и инкрементируемым первичным ключом и связанную внешними ключами BS_ID, PH_ID, PR_ID с Корзиной покупок, Аптекой и Препаратом соответственно:

Код SQL

CREATE TABLE BUYING(B_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), BS_ID INT NOT NULL, PH_ID INT NOT NULL, PR_ID INT NOT NULL, DateB varchar(20) NOT NULL, Price Double NOT NULL, PRIMARY KEY(B_ID))

И совсем уже в завершение темы создания базы данных обещанное отступление о соблюдении ограничений целостности, когда решение — более сложное, чем написание команды. В нашем примере необходимо соблюдать следующее условие: при покупке единицы препарата значение количества этого препарата в таблице AVAILABILITY должно соответственно уменьшиться. Вообще говоря, для таких операций в языке SQL существуют особые средства, называемые триггерами. Но триггеры — вещь капризная: на практике они могут и не сработать или сработать не так, как предусмотрено. Поэтому разработчики по возможности ищут программные средства решения таких задач, пример которых упомянут в этом абзаце.

И действительно, есть программное средство решение обозначенной выше задачи уменьшения значения количества препарата. А именно: в условии добавления соответствующего препарата в таблицу BUYING (Покупка) пишется функция на языке программирования, на котором выполнено приложение, с запросом с ключевым словом UPDATE на замену значения количества этого препарата на единицу меньше в той же аптеке. И таблица BUYING, и таблица AVAILABILITY имеют внешний ключ PH_ID — идентификатор определённой аптеки.

На этом многогранная тема создания баз данных прерывается.

Создание базы данных

База данных (БД) — единое хранилище текстовой информации сайта. База данных хранит информацию в виде связанных между собой таблиц. Для взаимодействия с информацией из таблиц используется язык запросов SQL. Информация, добавленная через CMS, записывается в БД, а затем отображается на сайте. Таким образом, администратор взаимодействует с базой данных, а не с исходными файлами сайта.

Чтобы создать БД:

  1. Перейдите в Базы Данных → кнопка Создать базу данных.
  2. Укажите Имя БД.
  3. Выберите Владельца, которому будет принадлежать БД.
  4. Выберите Сервер баз данных, который будет управлять БД.
  5. Выберите Кодировку данных в базе. Кодировка определяет набор символов для представления данных. Рекомендуем использовать «utf8», т. к. она универсальная.
  6. Выберите Пользователя, который будет работать с БД. Или выберите «Создать нового пользователя» и укажите для него Имя пользователя, Пароль и его Подтверждение.
  7. Чтобы пользователь имел доступ к БД с других серверов, включите опцию Удалённый доступ. Укажите Список IP-адресов, с которых доступ будет разрешён. Опция доступна, только если для выбранного сервера БД включена опция Удалённый доступ. Подробнее см. в статье Создание СУБД MySQL.
  8. Нажмите Ok.

Создание таблицы БД

Для создания новой базы данных, активизируйте закладку Источник данных Администратора Базы данных и нажмите кнопку Создать . После этого на экране появится окно SQL Manager . SQL Manager – это редактор, который используется для доступа, настройки, управления базами данных.

Окно SQL Manager:

_bm5003

Далее нажмите на кнопку Создать базу данных и выберите Драйвер подключения .

Окно Свойства соединения:

_bm5004

В открывшемся списке выберите тип создаваемой таблицы.

Возможно создание баз данных следующих типов:

Для создания базы данных dBase укажите Каталог подключения, и нажмите кнопку ОК .

Далее Установите флажок Регистрировать после создания и нажмите кнопку Готово.

Окно Создания базы данных dBase:

_bm5005

Выберите в дереве элемент Таблицы , активизируйте меню кликом правой кнопки мыши и перейдите на пункт Создать новую таблицу .

Окно SQL Manager. Создания таблицы базы данных dBase:

_bm5006

Далее следует определить структуру таблицы: Название поля, Тип данных, Размер .

Окно SQL Manager. Создания полей таблицы базы данных dBase:

_bm5007

Для создания индексов таблицы щелкните правой кнопкой мыши в поле редактирования таблицы и выберите из всплывающего меню пункт Индексы/Ключи .

Окно SQL Manager. Создания индексов таблицы базы данных dBase:

_bm5008

Окно Создания индексов таблицы базы данных dBase:

_bm5009

Вторичный индекс – это справочная таблица, которая определяет логический порядок записей в физической таблице. Можно проиндексировать таблицу по некоторому полю, например – полю фамилии, и создать, таким образом, способ построения таблицы в алфавитном порядке по фамилиям, даже если эти фамилии были введены в физическую таблицу в произвольном порядке.

Поскольку для таблиц dBase нет ключей, то использование флажка Уникальный является единственной возможностью обеспечить уникальность записей на физическом уровне (уровне организации таблицы).

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

Окно Создания таблицы базы данных dBase:

_bm5010

В результате на диск записывается новая таблица, первоначально пустая, и автоматически создаются все ее файлы. Далее появляется окно Параметры таблицы данных в проекте , в котором указывается имя и расположение таблицы в проекте.

Параметры таблицы данных:

_bm5011

Для создания базы данных MS SQL выберите драйвер подключения – Microsoft SQL Server и укажите Источник подключения ( Файл подключения или Строка подключения ), либо установите флажок Не использовать строку подключения .

Для создания базы данных MS SQL без использования строки подключения необходимо установить соответствующий флажок.

Окно Свойства соединения:

_bm5012

Нажмите кнопку ОК , далее последовательно укажите необходимые параметры подключения.

Окно Параметры подключения:

_bm5013

Окно Создания базы данных:

_bm5014

Окно Создания базы данных:

_bm5015

Окно Создания базы данных:

_bm5016

После ввода всех параметров будет создана пустрая базы данных MS SQL.

Окно SQL Manager:

_bm5017

Для создания таблиц необходимо выбрать в контекстном меню ветки Таблицы пункт Создать таблицу .

Для определения связей между таблицами необходимо задать первичный ключ таблицы Для этого в контекстном меню соответствующего поля выбрать пункт Установить первичный ключ .

Окно SQL Manager .Создания базы данных:

_bm5018

Окно Создания базы данных:

_bm5019

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

Для создания базы данных MS SQL с использованием строки подключения необходимо выбрать в разделе Источник подключения — Строка подключения .

Окно Свойства соединения:

_bm5020

Для формирования строки подключения нажмите кнопку Создать .

Окно Свойства канала пердачи данных:

_bm5021

Окно Свойства канала передачи данных:

_bm5022

Далее необходимо задать параметры базы данных.

Окно Создания базы данных:

_bm5023

Окно Создания базы данных:

_bm5024

Окно Создания базы данных:

_bm5025

Окно Создания базы данных:

_bm5026

После ввода всех параметров будет создана пустрая базы данных MS SQL.

Окно SQL Manager.Создания базы данных:

Пример создания запроса (Query) в базе данных MS SQL Server. База данных размещена в локальном файле *.mdf

Пример создания запроса ( Query ) в базе данных MS SQL Server . База данных размещена в локальном файле *.mdf

Поиск на других ресурсах:

Условие задачи

Задана база данных, которая размещается в файле Education.mdf . База данных содержит две связанные между собою таблицы Student и Session .

Таблицы связаны между собою за полем ID_Book .

Используя средства Microsoft Visual Studio создать запрос с именем Query1 , который будет иметь следующую структуру:

Название поля Таблица
Num_Book Student
Name Student
Mathematics Session
Informatics Session
Philosophy Session
Average Вычислительное поле

Выполнение (пошаговая инструкция)

1. Загрузить Microsoft Visual Studio
2. Подключить базу данных Education.mdf к перечню баз данных утилиты Server Explorer

Чтобы не тратить время на разработку и связывание таблиц базы данных Education.mdf , архив ранее подготовленной базы данных можно загрузить здесь . После загрузки и сохранения в некоторой папке, базу данных нужно разархивировать и подключить к перечню баз данных утилиты Server Explorer .

Подключение базы данных реализуется одним из нескольких стандартных способов:

  • выбором команды «Connect to Database…» с меню Tools ;
  • выбором кнопки (команды) «Connect to Database…» из утилиты Server Explorer .

В результате, откроется окно мастера, в котором с помощью нескольких шагов (окон) нужно настроить подключение базы данных.

Visual Studio подключение базы данных команда

Рис. 1. Способы добавления/подключения базы данных

Подробное описание того, как осуществляется подключение базы данных типа Microsoft SQL Server в Microsoft Visual Studio , приведено в теме:

После подключения, окно утилиты Server Explorer будет выглядеть как показано на рисунке 2.

Visual Studio Server Explorer рисунок

Рис. 2. Утилита Server Explorer с подключенной базой данных Education.mdf

3. Добавление нового запроса. Команда «New Query»

К базе данных можно создавать запросы. В нашем случае нужно создать запрос в соответствии с условием задачи.

Запрос создается с помощью команды «New Query» , которая вызовется из контекстного меню (рисунок 3). Чтобы вызвать команду, достаточно сделать клик правой кнопкой мышки в области поля, которое выделено для отображения элементов базы данных Education.mdb . Следует отметить, что запросы не сохраняются системой. Для отображения сохраненных (сложных) запросов используется представление ( Views ).

На рисунке 3 отображено контекстное меню, которое вызывается при нажатии на вкладке Views (представление). В этом меню нужно выбрать команду «New Query» . Эта команда есть в перечне контекстных меню других составляющих базы данных (таблиц, диаграмм и т.п.).

SQL Server команда

Рис. 3. Команда New Query

В результате откроется окно «Add Table» , в котором нужно выбрать таблицы, данные из которых будут использоваться в запросе (рисунок 4).

SQL Server таблица выбор

Рис. 4. Выбор таблиц, которые будут использоваться в запросе

Для нашего случая нужно выбрать обе таблицы.

В результате окно Microsoft Visual Studio будет выглядеть, как показано на рисунке 5.

Visual Studio запрос рисунок

Рис. 5. Окно MS Visual Studio после создания запроса

В таблицах нужно выделить поля, которые будут использоваться в запросе. Порядок выбора полей должен соответствовать отображению их в запросе в соответствии с условием задачи. Это означает, что сначала выбираются поля таблицы Student ( NumBook , Name ), а потом выбираются поля таблицы Session ( Mathematics , Informatics , Philosophy ).

Для нашего случая выбор полей изображен на рисунке 6.

Visual Studio поле запрос

Рис. 6. Выбор полей для запроса

Как видно из рисунка 6, в нижней части окна отображается запрос на языке SQL , сформированный системой

SELECT Student.Num_Book, Student.Name, Session.Mathematics, Session.Informatics, Session.Philosophy FROM Session INNER JOIN Student ON Session.ID_Book = Student.ID_Book
4. Добавление вычисляемого поля Average

Чтобы создать вычисляемое поле Average , нужно в окне, где отображается SQL -запрос изменить текст этого запроса. Например:

SELECT Student.Num_Book, Student.Name, Session.Mathematics, Session.Informatics, Session.Philosophy, (Session.Mathematics + Session.Informatics + Session.Philosophy) / 3.0 AS Average FROM Session INNER JOIN Student ON Session.ID_Book = Student.ID_Book

Добавляется вычислительное поле Average , которое есть средним арифметическим (рисунок 7).

Visual Studio выбор поле запрос

Рис. 7. Добавление вычисляемого поля Average

5. Запуск запроса на выполнение. Команда «Execute SQL»

Чтобы запустить на выполнение запрос, используется кнопка «Execute SQL» (рисунок 8).

В нижней части окна на рисунке 8 изображен результат выполнения запроса.

SQL Server команда

Рис. 8. Кнопка «Execute SQL» запуска запроса на выполнение и результат выполнения запроса

Другой способ запуска запроса на выполнение – команда «Execute SQL» из меню «Query Designer» .

Связанные темы

  • Пример создания представления ( View ) в базе данных. Создание вычисляемого поля
  • Пример создания/подключения локальной базы данных Microsoft SQL Server , которая размещается в «*.mdf »-файле
  • Пример создания «*.mdf» файла локальной базы данных Microsoft SQL Server в Microsoft Visual Studio

Программирование: теория и практика

  • C# (176)
    • Практика (46)
      • MS Visual Studio 2010 (34)
      • MS Visual Studio 2017 (7)
      • MS Visual Studio 2019 (13)
      • ADO .NET (7)
      • Практика (31)
        • Borland C++ Builder 2007 (16)
        • MS Visual Studio 2010 (18)
        • Visual C++ (136)
        • Практика (6)
        • Теория (102)
        • Практика (1)
        • Теория (21)
        • Практика (1)
        • Теория (21)
        • Практика (20)
          • Delphi-7 (4)
          • Embarcadero RAD Studio 2010 (18)
          • Практика (4)
          • Теория (92)
          • SQL (5)
          • Patterns. Паттерн State (Состояние). Структура. Реализация на C++ 19 ноября, 2023
          • Patterns. Паттерн Abstract Factory. Решение задачи о составляющих компьютера 7 октября, 2023
          • Patterns. Паттерн Prototype. Реализация схемы на C++ 22 сентября, 2023
          • Patterns. Паттерн Composite (Компоновщик). Дерево. Реализация на C++ 18 сентября, 2023
          • Patterns. Паттерны. Сравнение паттернов Abstract Factory, Factory Method и Prototype 12 сентября, 2023
          • Patterns. Паттерн Factory Method (Фабричный метод). Реализация структуры, простейший случай 6 сентября, 2023
          • Patterns. Паттерн Bridge. Реализация структуры на C++ 6 сентября, 2023
          • Паттерны проектирования. Паттерн Facade (Фасад) 29 августа, 2023
          • SQL. Числовые типы данных. Обзор. Примеры 25 августа, 2023
          • C++. Наследование шаблонных классов. Добавление нового типа в унаследованных классах 9 августа, 2023

          При использовании материалов сайта, ссылка на сайт обязательна.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *