Лекции по "Информатике"

Автор работы: Пользователь скрыл имя, 09 Декабря 2012 в 10:21, курс лекций

Описание работы

Временем появления на Земле вида «человек разумный» вполне можно считать тот момент, когда представители этого вида стали собирать, осмысливать, обрабатывать, хранить и передавать разнообразную информацию. Таким образом, человечество (социум) постоянно имеет дело с информацией.
Строгого научного определения понятия «информация» нет. Существует более 300 толкований этого термина.

Файлы: 1 файл

Лекции по Информатике.doc

— 2.85 Мб (Скачать файл)

Хороший отладчик позволяет осуществлять:

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

Более мощные отладчики, обычно их называют высокоуровневыми (High-Level Debuggers), помимо этого, позволяют:

  • вести символьную отладку, благодаря тому, что отладчик «знает» адреса всех символьных переменных, массивов и структур (за счёт использования специальной информации, поставляемой компилятором). При этом пользователь может оперировать более приемлемыми для человека символьными именами, не утруждая себя запоминанием их адресов;
  • контролировать и анализировать исходный текст программы, написанной на языке высокого уровня.

Популярные среды разработки

Eclipse

Eclipse - свободный фреймворк для разработки модульных кроссплатформенных приложений (разрабатывается и поддерживается Eclipse Foundation).

Поддерживаемые  языки:

  • C/С++;
  • Perl;
  • PHP;
  • JavaScript;
  • Python;
  • Ruby.

Наиболее известные приложения на основе Eclipse Platform — различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально — не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).

Изначально проект разрабатывался в IBM как корпоративный стандарт IDE для разработки на разных языках под платформы IBM. Потом проект был переименован в Eclipse и предоставлен для дальнейшего развития.

Eclipse — в первую очередь полноценная  Java IDE, нацеленная на групповую  разработку, снабжённая средствами для работы с системами контроля версий). В силу бесплатности и высокого качества во многих организациях Eclipse — корпоративный стандарт для разработки приложений.

Второе  назначение Eclipse — служить платформой для разработки новых расширений (чем и завоевал популярность - любой разработчик может расширить Eclipse своими модулями). Таковыми стали C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, COBOL, FORTRAN, PHP средства от различных разработчиков. Множество расширений дополняет Eclipse менеджерами для работы с базами данных, серверами приложений и др.

Eclipse написана  на Java, потому является платформо - независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ. Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью зависит от нижележащей платформы (операционной системы), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает проблемы совместимости и устойчивости приложений на разных платформах.

Microsoft Visual Studio

Microsoft Visual Studio - линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств.

Visual Studio включает  один или несколько компонентов из следующих:

  • Visual Basic .NET, а до его появления - Visual Basic;
  • Visual C++;
  • Visual C#.

Многие варианты поставки также  включают:

  • Microsoft SQL Server либо MSDE
  • Visual Source Safe — файл-серверная система управления версиями

В прошлом, в состав Visual Studio также  входили продукты:

  • Visual InterDev;
  • Visual J++;
  • Visual J#;
  • Visual FoxPro.

Лекция 07: СУБД

Компьютеры были созданы для  решения вычислительных задач, однако со временем они все чаще стали использоваться для построения систем обработки документов, а точнее, содержащейся в них информации. Такие системы обычно и называют информационными. В качестве примера можно привести систему учёта отработанного времени работниками предприятия и расчёта заработной платы, систему учёта продукции на складе, систему учёта книг в библиотеке и т.д. Все вышеперечисленные системы имеют следующие особенности:

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

Другими словами, информационная система требует создания в памяти ЭВМ динамически обновляемой модели внешнего мира с использованием единого хранилища - базы данных. Для дальнейшего обсуждения нам необходимо ввести понятие предметной области:

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

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

  • управление данными во внешней памяти (на дисках);
  • управление данными в оперативной памяти;
  • журнализация изменений и восстановление базы данных после сбоев;
  • поддержка языков БД (язык определения данных, язык манипулирования данными).

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

Обычно  современная СУБД содержит следующие  компоненты (рис.6.1.):

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

Рис. 6.1. Архитектура СУБД

Создание первых баз данных и  СУБД стало возможно лишь с появлением достаточно дешёвых и производительных устройств внешней памяти, какими стали жёсткие диски (винчестеры), появившиеся во второй половине 60-х годов. В 70-е годы шла интенсивная разработка теоретических вопросов построения баз данных. В результате в начале 80-х годов на рынке появились мощные инструментальные средства проектирования и построения информационных систем. Однако, развитие информационных технологий в 90-х привело к появлению новых, более широких требований к обработке и представлению данных. Таким образом, теория баз данных, хотя и располагает впечатляющими достижениями, еще далека от завершения.

Основные понятия

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

Основное отличие между тремя  основными моделями данных состоит  в способах представления взаимосвязей между объектами.

Взаимосвязи в модели данных

Взаимосвязь выражает отображение или связь между двумя множествами данных. Различают взаимосвязи «один к одному», «один ко многим» и «многие ко многим». Рассмотрим эти взаимосвязи на примерах. Рассмотрим госпиталь, в котором на лечении находится определённое число пациентов. Если пациент поступает в госпиталь впервые, осуществляется первичная регистрация его истории болезни. Если же он поступает повторно, то в его историю болезни вносятся изменения. Вне зависимости от того, сколько раз данный пациент находился на лечении, он имеет единственный уникальный код. Информация о пациенте включает имя, регистрационный код пациента и его адрес. Т.о., атрибутами объекта ПАЦИЕНТ являются «Код пациента», «Имя пациента» и «Адрес пациента».

Следующий объект ХИРУРГ. Этот объект имеет атрибуты «Номер патента хирурга» и «Имя хирурга». Будем рассматривать только хирургическое отделение госпиталя, в котором выполняются операции, после которых пациенты остаются под наблюдением хирургов. Третий объект - КОЙКА. Его атрибутами являются «Номер палаты» и «Номер койки».

Взаимосвязь «один к одному»

В определённый момент времени одному пациенту выделяется одна койка. Между  объектами ПАЦИЕНТ и КОЙКА  устанавливается взаимосвязь «один  к одному». Этот факт обычно обозначается так:

Рис. 6.2. Взаимосвязь «один к одному»

Взаимосвязь «один ко многим»

В данный момент времени в палату может быть помещено несколько пациентов. При этом пациент может быть помещён  только в одну палату. Между объектами  ПАЦИЕНТ и ПАЛАТА устанавливается взаимосвязь «один ко многим». Этот факт обычно обозначается так:

Рис. 6.3. Взаимосвязь «один ко многим»

Взаимосвязь «многие ко многим»

Каждый хирург может оперировать  несколько пациентов. С другой стороны, находясь в госпитале в различное время, пациент может быть прооперирован несколькими хирургами. Между объектами ПАЦИЕНТ и ХИРУРГ существует взаимосвязь «многие ко многим».

Рис. 6.4. Взаимосвязь «многие ко многим»

 

 

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

Иерархическая модель данных

Иерархическая и сетевая модели данных стали применяться в системах управления БД в начале 60 – годов. В начале 70-х годов была предложена реляционная модель, которая в настоящее время является наиболее популярной.

 

Рис. 6.5. Узлы и ветви образуют иерархическую древовидную структуру. Узел является совокупностью атрибутов, описывающих объект

Иерархическая модель данных строится по принципу иерархии типов объектов, т.е. один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии – подчинёнными. Между главным и подчинёнными типами объекта устанавливается взаимосвязь «один ко многим». Для данного главного типа объекта может существовать несколько подчинённых типов объектов. Т.о. взаимосвязи между объектами напоминают взаимосвязи в генеалогическом дереве за единственным исключением: для каждого порождённого (подчинённого) типа объекта может быть только один исходный (главный) тип объекта. В иерархической модели данных узлы на 2 уровне называются порождёнными узла первого уровня. Узел первого уровня называется исходным для узлов второго уровня.

Рис. 6.6. Компоненты БД, основанной на иерархической модели

Иерархической является система управления информацией (IMS) корпорации IBM, система System 2000 корпорации Intel, MARK 4 корпорации Informatics.

Свойства иерархической древовидной  структуры 

  • иерархия неизменно начинается с корневого узла;
  • каждый узел состоит из одного или нескольких атрибутов, которые описывают объект в данном узле;
  • на низших уровнях находятся зависимые узлы; зависимые узлы могут добавляться как в вертикальном, так и в горизонтальном направлении без ограничений; исключение составляет первый уровень, там может находиться только один узел, называемый корневым;
  • каждый узел 2 уровня соединён с единственным узлом первого уровня, т.к. между узлами существует единственная, соединяющая дуга, они не нуждаются в метке;
  • исходный узел может иметь в качестве зависимых один или несколько порождённых узлов; если узел не имеет порождённых узлов, он не является исходным; между исходными и порождёнными узлами взаимосвязь «один ко многим»;
  • доступ к узлам (кроме корневого) происходит через исходный узел; поэтому, в иерархической модели данных пути доступа к каждому узлу являются уникальными;
  • возможно существование любого числа экземпляров узлов каждого уровня. Т.е. может существовать много экземпляров узла А. Каждый экземпляр узла А начинает логическую запись. Для каждого экземпляра узла А может существовать нуль, один или несколько экземпляров узла В и т.д.


Рис. 6.7. Доступ к узлу I осуществляется только A – G – H – I, а доступ к узлу D, только A – B – D.

Вернёмся к примеру «Госпиталь» и покажем один из вариантов, представления этой информации в иерархической БД.

Корневой узел представляет объект ПАЦИЕНТ.

 

 

Рис. 6.8. Представление данных с помощью иерархической модели

Для каждого пациента имеется экземпляр  корневого сегмента. В рассматриваемый момент в БД содержатся записи для пациентов: Иванов И.И. (1111), Петров П.П. (1234), Комаров К.К. (2345), Семёнов С.С. (5432), Сергеев С.С. (2468).


Рис. 6.9. Экземпляр иерархической БД. Запись содержит сведения о Сергееве С.С.


Рис. 6.10. Экземпляр иерархической БД. Запись содержит сведения о Иванове И.И.

Та же самая информация может  быть представлена с помощью другой версии иерархической БД. Корневой узел соответствует объекту ХИРУРГ. Для каждого хирурга имеется экземпляр корневого узла. В некоторый момент БД содержит данные на хирургов Егоров Е.Е. (987), Пирогов И.С. (864), Преображенский Ф.Ф. (753), Борменталь И.А. (999), Склифосовский А.А. (642).

Информация о работе Лекции по "Информатике"