Главная страница
Навигация по странице:

  • 1. Классы и объекты в C++ Классы в С++

  • Инкапсуляция

  • 2. Диаграмма состояний в UML Диаграммы состояний

  • Состояние (state)

  • 3. Среда разработки приложений Builder C++ Borland C++ Builder

  • Среда разработки C++ Builder

  • Средства

  • Ответы к экзамену по базам данных. Создание, модификация и уничтожение таблиц. Предложение языка sql create table. Основные типы данных. Предложение alter table. Предложение drop table


    Скачать 0.53 Mb.
    НазваниеСоздание, модификация и уничтожение таблиц. Предложение языка sql create table. Основные типы данных. Предложение alter table. Предложение drop table
    Дата28.01.2018
    Размер0.53 Mb.
    Формат файлаdocx
    Имя файлаОтветы к экзамену по базам данных.docx
    ТипДокументы
    #35327
    страница2 из 6
    1   2   3   4   5   6

    Способы классификации СУБД (по поддерживаемым типам структур данных; по типам хранимой информации; персональные СУБД и СУБД коллективного использования; по физической организации: централизованные, распределённые и т.п.).


    БАЗА ДАННЫХ (БД) – именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области.

    СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ (СУБД) – совокупность языковых и программных средств, предназначенных для создания, ведения и совместного применения БД многими пользователями.

    ФУНКЦИИ СУБД:

    • управление данными во внешней памяти;

    • управление буферами оперативной памяти;

    • управление транзакциями;

    • журнализация и восстановление БД после сбоев;

    • поддержание языков БД.


    По поддерживаемым типам структур данных (по модели данных): - иерархические - сетевые - реляционные - объектно-ориентированные – на основе инвертированных списков.
    Иерархические:

    Основные особенности:

    • Строится иерархия (предки, потомки).

    • Предки и потомки. Один предок – множество потомков.

    • Частичная поддержка целостности в переделах дерева - основное правило: никакой потомок не может существовать без своего родителя.

    Типовые операторы манипулирования:

    найти указанное дерево БД; перейти от одного дерева к другому;

    перейти от одной записи к другой внутри дерева; перейти от одной записи к другой в порядке обхода иерархии; вставить новую запись в указанную позицию; удалить текущую запись.

    Типичный пример: Information Management System (IMS) фирмы IBM (1968).
    Сетевые:

    Основные особенности:

    • Сетевой подход к организации данных является расширением иерархического подхода. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков.

    • Ограничения целостности не требуется, но иногда требуют целостности по ссылкам (как в иерархической модели).

    Манипулирование данными:

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

    Типичный пример: Integrated Database Management System (IDMS), компания Cullinet Software, Inc., США, 1971 г. Предназначенная для использования на мэйнфреймах IBM. Архитектура системы основана на предложениях Data Base Task Group (DBTG) Комитета по языкам программирования Conference on Data Systems Languages (CODASYL).
    Реляционная БД представляет собой совокупность таблиц, связанных отношениями. Основные понятия: “таблица”, “отношение”, “строка”, “первичный ключ”. Все операции над реляционной базой данных сводятся к манипуляциям с таблицами.

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

    Примеры: SQL/DS, DB2 Universal Database – IBM; Oracle; MS SQL Server; Adaptive Server Enterprise и Adaptive Server IQ – компании Sybase; Teradata Database; Netezza Performance Server 8000 Series; Postgress; MySQL; Firebird

    Объектно-ориентированные управляют базами данных, в которых данные моделируются в виде объектов, их атрибутов, методов и классов.

    Этот вид СУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в объектно-ориентированных языках программирования.

    Примеры: GemStone.
    На основе инвертированных списков:

    Основные особенности:

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

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

    • Пути доступа к таблицам и спискам видны пользователям.

    • Общие определения целостности базы данных отсутствуют.

    Типовые операторы манипулирования:

    НАЙТИ ПЕРВУЮ ЗАПИСЬ, НАЙТИ ПЕРВУЮ ПО КЛЮЧУ, НАЙТИ СЛЕДУЮЩУЮ, ОБНОВИТЬ, УДАЛИТЬ, ДОБАВИТЬ ПУСТУЮ ЗАПИСЬ, ИЗМЕНИТЬ ПОЛЕ ЗАПИСИ.

    Типичный пример: Adabas/Natural, фирма Softvare AG, Германия 1966 г.

    Другой типичный представитель: Datacom/DB компании Applied Data Research, Inc. (ADR) ; dBase, Clipper, FoxPro, Paradox.
    По типу хранимой информации БД: - фактографические БД -документальные БД - текстовая база данных - гипертекстовая база данных - полнотекстовая база данных - численно-текстовая база данных К лексикографическим БД относятся различные словари, классификаторы, рубрикаторы и т. д. Они обычно используются в качестве справочных совместно с документальными или фактографическими БД.

    В документальных БД единицей хранения является документ (например, текст закона или статьи). Поиск и выдача документов происходит по их содержанию. Простейший метод поиска базируется на использовании дескрипторов – ключевых слов из проблемной области, характеризующих содержание документа. Их совокупность, выделенная из запроса, сопоставляется с дескрипторами документа («поисковым образцом»). В ответ на запрос пользователя выдается либо ссылка на документ, либо сам документ, в котором он может найти интересующую его информацию.

    В системах фактографического типа в БД хранится информация об интересующих пользователя объектах предметной области в виде «фактов» (например, биографические данные о сотрудниках, данные о выпуске продукции производителями и т. п.). В ответ на запрос пользователя выдается требуемая ему информация или сообщение о том, что искомая информация отсутствует в БД.
    К персональным СУБД относятся Visual FoxPro, Paradox, Clipper, dBase, Access и др. К многопользовательским СУБД относятся, например, СУБД Oracle и Informix.

    Многопользовательские СУБД (уровня рабочей группы, масштаба предприятия, корпоративные) включают в себя сервер БД и клиентскую часть, работают в неоднородной вычислительной среде — допускаются разные типы ЭВМ и различные операционные системы. Поэтому на базе СУБДМ можно создать информационную систему, функционирующую по технологии клиент-сервер. Универсальность многопользовательских СУБД отражается соответственно на высокой цене и компьютерных ресурсах, требуемых для их поддержки.

    СУБДП представляет собой совокупность языковых и программных средств, предназначенных для создания, ведения и использования БД.
    По физической организации (по организации и технологии обработки данных, базы данных): централизованные, распределённые.

    База данных, расположенная на одном компьютере (сервере), называется централизованной, а на нескольких соединённых сетями ПК — распределённой.
    По способу доступа к БД:

    - файл-серверные - клиент-серверные - встраиваемые

    В зависимости от размера БД и ее расположения можно выделить

    - портативные БД, небольшие БД, - сетевые БД, - распределенные БД

    В зависимости от технологии хранения:

    - БД во вторичной памяти - БД в оперативной памяти - БД в третичной памяти

    Экзаменационный билет № 4
    1. Классы и объекты в C++
    Классы в С++ — это абстракция описывающая методы, свойства, ещё не существующих объектов. Объекты — конкретное представление абстракции, имеющее свои свойства и методы. Созданные объекты на основе одного класса называются экземплярами этого класса. Эти объекты могут иметь различное поведение, свойства, но все равно будут являться объектами одного класса. В ООП (объектно-ориентированное программирование) существует три основных принципа построения классов:

    1. Инкапсуляция — это свойство, позволяющее объединить в классе и данные, и методы, работающие с ними и скрыть детали реализации от пользователя.

    2. Наследование — это свойство, позволяющее создать новый класс-потомок на основе уже существующего, при этом все характеристики класса родителя присваиваются классу-потомку.

    3. Полиморфизм — свойство классов, позволяющее использовать объекты классов с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

    Вот так класс Student (студент) описывается в С++:

    1. class Student { // Класс студент

    2. auto fio; // свойство ФИО

    3. auto sex; // свойство пол

    4. auto age; // свойство возраст

    5. void learn(); // метод учиться

    6. void getMark(); // метод получить оценку

    Каждый студент имеет свои ФИО, пол, возраст, а каждый автомобиль имеет - марку, модель, цвет и другие составляющие - это свойства класса. Классы имеют свои функции, которые называются методами класса. Например, для студента методами будут учиться, получать отметки, а для автомобиля - ехать, повернуть, остановиться.

    А вот пример класса Car (автомобиль) на C++:

    class Car {

    auto mark; // свойство марка

    auto model; // свойство модель

    auto color; // свойство цвет

    void go(); // метод ехать

    void turn(); // метод повернуть

    void stop(); // метод остановиться

    };

    Для упрощения, привожу типы auto и void.

    Создание объектов:

    В статической памяти:

    Student anya, masha, natasha;

    Car lada, ferrari;

    В динамической памяти:

    Student *anya = new Student();

    Student *masha = new Student();

    Student *natasha = new Student();

    Car *lada = new Car();

    Car *ferrari = new Car();
    2. Диаграмма состояний в UML

    Диаграммы состояний применяются для того, чтобы объяснить, каким образом работают сложные объекты. Несмотря на то что смысл понятия "состояние" интуитивно понятен, все же приведем его определение в таком виде, в каком его дают классики и Zicom Mentor:

    Состояние (state) - ситуация в жизненном цикле объекта, во время которой он удовлетворяет некоторому условию, выполняет определенную деятельность или ожидает какого-то события. Состояние объекта определяется значениями некоторых его атрибутов и присутствием или отсутствием связей с другими объектами.

    Диаграмма состояний показывает, как объект переходит из одного состояния в другое. Очевидно, что диаграммы состояний служат для моделирования динамических аспектов системы (как и диаграммы последовательностей, кооперации, прецедентов и, как мы увидим далее, диаграммы деятельности). Часто можно услышать, что диаграмма состояний показывает автомат, но об этом мы поговорим подробнее чуть позже. Диаграмма состояний полезна при моделировании жизненного цикла объекта (как и ее частная разновидность - диаграмма деятельности, о которой мы будем говорить далее).

    От других диаграмм диаграмма состояний отличается тем, что описывает процесс изменения состояний только одного экземпляра определенного класса - одного объекта, причем объекта реактивного, то есть объекта, поведение которого характеризуется его реакцией на внешние события.

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

    https://www.intuit.ru/edi/23_04_17_1/1492899714-28128/tutorial/356/objects/2/files/02_18.gif
    3. Среда разработки приложений Builder C++
    Borland C++ Builder - выпущенное недавно компанией Borland средство быстрой азработки приложений, позволяющее создавать приложения на языке C++, используя при этом среду разработки и библиотеку компонентов Delphi. В настоящей статье рассматривается среда разработки C++ Builder и основные приемы, применяемые при проектировании пользовательского интерфейса.
    Среда разработки C++ Builder

    C++ Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель (слева) и палитру компонентов (справа). Помимо этого, по умолчанию при запуске C++ Builder появляются окно инспектора объектов (слева) и форма нового приложения (справа). Под окном формы приложения находится окно редактора кода.
    Формы являются основой приложений C++ Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов C++ Builder, называемых компонентами. Компоненты C++ Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность C++ Builder состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов.
    Компоненты разделяются на видимые (визуальные) и невидимые (невизуальные). Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Невизуальные компоненты появляются во время проектирования как пиктограммы на форме. Они никогда не видны во время выполнения, но обладают определенной функциональностью (например, обеспечивают доступ к данным, вызывают стандартные диалоги Windows 95 и др.)
    Для добавления компонента в форму можно выбрать мышью нужный компонент в палитре и щелкнуть левой клавишей мыши в нужном месте проектируемой формы. Компонент появится на форме, и далее его можно перемещать, менять размеры и другие характеристики.
    Каждый компонент C++ Builder имеет три разновидности характеристик: свойства, события и методы.
    Если выбрать компонент из палитры и добавить его к форме, инспектор объектов автоматически покажет свойства и события, которые могут быть использованы с тим компонентом. В верхней части инспектора объектов имеется выпадающий список, позволяющий выбирать нужный объект из имеющихся на форме.
    Свойства являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанавливаемое по умолчанию (например, высота кнопок). Свойства компонента отображаются, а странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения. Инспектор объектов используется для установки свойств во время проектирования. Список свойств располагается на странице свойств инспектора объектов. Можно определить свойства во время проектирования или написать код для видоизменения свойств компонента во время выполнения приложения.

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

    Страница событий (Events) инспектора объектов показывает список событий, распознаваемых компонентом (программирование для операционных систем с графическим пользовательским интерфейсом, в частности, для Windows 95 или Windows NT пре полагает описание реакции приложения на те или иные события, а сама операционная система занимается постоянным опросом компьютера с целью выявления наступления какого-либо события). Каждый компонент имеет свой собственный набор обработчиков событий. В C++ Builder следует писать функции, называемые обработчиками событий, и связывать события с этими функциями. Создавая обработчик того или и ого события, вы поручаете программе выполнить написанную функцию, если это событие произойдет.

    Для того, чтобы добавить обработчик событий, нужно выбрать на форме с помощью мыши компонент, которому необходим обработчик событий, затем открыть страницу событий инспектора объектов и дважды щелкнуть левой клавишей мыши на колонке з ачений рядом с событием, чтобы заставить C++ Builder сгенерировать прототип обработчика событий и показать его в редакторе кода. При этом автоматически генерируется текст пустой функции, и редактор открывается в том месте, где следует вводить код. Курсор позиционируется внутри операторных скобок { ... }. Далее нужно ввести код, который должен выполняться при наступлении события. Обработчик событий может иметь параметры, которые указываются после имени функции в круглых скобках.

    Средства C++ Builder, предназначенные для работы с БД можно разделить на 2 вида:

    1. Инструменты.

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

    Для операций с БД в C++Builder имеется следующий набор инструментов:
    1) BDE (Borland DataBase Engine) – процессор БД, который содержит набор динамических библиотек и драйверов, предназначенных для обеспечения доступа к БД из приложений.

    2) BDE Administrator (Администратор БД) – это утилита для настройки различных параметров BDE, драйверов БД, создание и удаление псевдонимов БД.

    3) DataBase Desktop (Рабочий стол БД) – программа создания и редактирования таблиц БД. При создании таблицы задаются структура и имя таблицы. При сохранении таблицы на диске создаются все необходимые файлы, относящиеся к таблице. Их имена совпадают с именем таблицы. Для изменения структуры таблицы выполняется команда Restructure меню Table.

    4) SQL Explorer – программа-проводник БД, позволяющая просматривать и редактировать БД. Находится в меню DataBase главного окна C++Builder.

    5) SQL Builder – программа визуального конструирования SQL запросов.
    Компоненты предназначены для создания приложений, осуществляющих операции с БД.

    К основным компонентам можно отнести: Table, Query, DataBase (вкладка BDE) – предназначены для управления данными с использованием BDE; DataSource (вкладка DataAccess) – предназначен для соединения видимых и невидимых компонентов; DBGrid, DBNavigator, DBEdit, DBText, DBImage, DBComboBox, DBCtrlGrid, DBChart (вкладка DataControls) - предназначены для управления данными.

    Экзаменационный билет № 5
    1   2   3   4   5   6


    написать администратору сайта