пятница, 12 февраля 2010 г.

Постреляционные базы данных.Реферат.На будущее.


 


 


 

Министерство общего и профессионального образования Российской федерации

СПбГУАП


 


 


 

Рейтинг за работу

Преподаватель                                Игнатьев М.Б.


 


 


 


 


 


 


 


 


 


 


 

Реферат на тему

«Постреляционные базы данных»

По курсу «Современные проблемы информатики

и вычислительной техники»


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 

Работу выполнил

Студент гр. 4521М                         Малеев К.В.

Санкт-Петербург

2009 г.

Содержание

  1. Введение
  2. Что же такое реляционная модель?
  3. Постреляционные СУБД
  4. Преимущества и недостатки постреляционных СУБД.
  5. Примеры постреляционных баз данных.
  6. Системы с открытым исходном кодом.
  7. Области применения
  8. Выводы
  9. Используемые источники


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 

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


 

Введение

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


 

В настоящее время в подавляющем большинстве случаев используется реляционная модель баз данных.


 


Что же такое реляционная модель?

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

Достоинства реляционной модели:


 

Упрощение схемы данных для пользователя. Это подразумевает под собой простую и удобную для пользователя схему данных, представляемую в виде таблиц.


 

Обеспечение пользователя языками высокого уровня.

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


 

Улучшение целостности и защиты данных.


 

Недостатки реляционной модели:


 


 

Негибкость структуры для развивающихся БД.

Затруднения в построении концептуальной модели для объектов с многочисленными связями "многие – ко – многим"


 

При расширении базы данных до определенных пределов, возникают большие накладные расходы.


 


 


 


 

Этапы проектирования структуры данных


 

Начальным этапом проектирования ИС является этап моделирования предметных областей пользователей, системного анализа и структуризации информации


 

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


 

В теории проектирования информационных систем предметную область (или, если угодно, весь реальный мир в целом) принято рассматривать в виде трех представлений:

представление предметной области в том виде, как она реально существует

как ее воспринимает человек (имеется в виду проектировщик базы данных)

как она может быть описана с помощью символов.

Т.е. говорят, что мы имеем дело с реальностью, описанием (представлением) реальности и с данными, которые отражают это представление.


 

Данные, используемые для описания предметной области, представляются в виде трехуровневой схемы (так называемая модель ANSI/SPARC):


 

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

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


 

Отсюда вытекают основные этапы, на которые разбивается процесс проектирования базы данных информационной системы:


 

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

обследование предметной области, изучение ее информационной структуры

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

моделирование и интеграция всех представлений

По окончании данного этапа получаем концептуальную модель, инвариантную к структуре базы данных. Часто она представляется в виде модели "сущность-связь".

Логическое проектирование - преобразование требований к данным в структуры данных. На выходе получаем СУБД-ориентированную структуру базы данных и спецификации прикладных программ. На этом этапе часто моделируют базы данных применительно к различным СУБД и проводят сравнительный анализ моделей.

Физическое проектирование - определение особенностей хранения данных, методов доступа и т.д.


 

Существует несколько способов организации и проведения данного этапа. Среди них следует отметить:

диаграммы декомпозиции процессов;

потоковые диаграммы;

IDEF-диаграммы (Integrated DEFinition, интегрированные диаграммы-описания);

RADs-диаграммы (Role Activity Diagrams, диаграммы ролевых действий);

стандартная системная документация;

формализованные методы анализа и структуризации предметных областей пользователей, построения канонических структур БД; UML (Unified Modeling Language).

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


 


 


 

Постреляционные СУБД

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


 

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


 

Свойство инкапсуляции означает, что объекты имеют некоторую структуру и определенный набор операций, т.е. поведение.

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


 

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


 

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


 


 


Преимущества постреляционных СУБД


 


 

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


 


Недостатки постреляционных СУБД


 

Отсутствие развитых средств выборки и анализа данных и единой методологии проектирования ООБД


 


 


 


 


 


 

Примеры постреляционных баз данных


 


 


 

Jasmine


 

( компания Computer Associates ), наиболее известная объектная СУБД.


 

Будучи одной из новейших объектных баз данных, вобрала в себя опыт предыдущих работ, добавив много нужных для объектного программирования новшеств. Продукт продвигает Computer Associates. СУБД снабжена визуальной средой разработки Jasmine Studio, которая отличается удобным, продуманным и интуитивно понятным интерфейсом


 

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


 

...Объектно-ориентированный


 

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


 

Кроме того, объектная СУБД увеличивает количество доступных и интерпретируемых данных. В то время как в прошлом компании были способны фиксировать скудные 15% от того объема данных, с котором они работали, Jasmine управляет всем пространством данных: от видео, звука, пространственных координат и карт, до молекулярных структур, временных рядов, финансовых инструментов и телекоммуникационных сетей. Это увеличение в качестве и количестве данных улучшает процесс принятия решений.


 

...Обеспечивающий работу с Internet/Intranet


 

Система Jasmine в полной мере использует возможности интеграции Internet (или, в пределах компании,- Intranet) с широким спектром бизнес-стратегий, технологий и функций. Используя огромные возможности Internet, Jasmine уменьшает затраты на поиск заказчиков и поставщиков, геометрически расширяет рынки и облегчает организацию своевременного производства и платежей. В рамках корпоративной Intranet Jasmine способствует концентрации деловой активности на особо-важных направлениях, упрощению организации бизнеса и предоставляет возможность работникам более эффективно обмениваться информацией.


 

...Поддерживающий мультимедиа


 

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


 

...Полнофункциональный и открытый


 

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


 

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


 

...Мощный и надежный


 

Разработчики могут легко создавать прикладные программы, которые отражают сложности ежедневной деловой активности. Jasmine, который объединяет бизнес-процессы и данные в связную объектную модель, позволяет разработчикам решать сложные проблемы, создавая приложения путем простой компоновки типовых структурных элементов. Построенные на основе проверенных технологий Computer Associates International, Inc. (CA) и Fujitsu, приложения Jasmine постоянно демонстрируют высокие стандарты целостности, надежности и производительности, которые необходимы для критически важных бизнес-функций.


 

...Переносимый и расширяемый


 

Jasmine учитывает, что разработчикам выгодно создать приложение один раз, а затем распространить в Internet или Intranet. Доступ к созданной Jasmine продукции открыт повсюду благодаря многоплатформенной Web-ориентированной исполнительной среде. Использование большого массива библиотек классов, созданных CA и Fujitsu, а также множеством независимых фирм-производителей программного обеспечения, позволит пользователям реализовать мощный потенциал Jasmine для расширения спектра приложений.


 

Архитектура


 

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


 

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


 

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


 

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


 

Индустриально-мощный, многоплатформенный, объектно-ориентированный процессор базы данных

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

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

Богатый объектно-ориентированный язык для описания бизнес-логики на сервере, обеспечивающий все возможности современных объектно-ориентированных языков; Jasmine также поддерживает методы в C, C++ и Java;

Обширная библиотека классов с предопределенными классами для мультимедиа и других сервисных классов;

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

Открытый интерфейс разработки приложений (API) для C и C++ и любых систем разработки приложений, поддерживающих OLE ;

Сервер доступен для различных UNIX-систем и Windows NT.


 

Интегрированная среда разработки для создания визуальных объектно-ориентированных мультимедийных приложений

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

Интеллектуальный редактор для расположения объектов на "сцене", определяющий их свойства и поведение, определяющий их взаимодействие с пользователем и устанавливающий связь объектов с базой данных;

Визуальные, типа "point-and-click", средства для определения классов, программирования методов и редактирования объектов;

Среда разработки доступна для Windows 95 и Windows NT.


 

Небольшие требования к платформе для эксплуатации мультимедиа-систем, работающих или самостоятельно, или как модули расширения Web-браузеров

Автономный режим работы, подходящий для внутриофисных приложений, автономных императивных систем мультимедиа со свободным доступом и многих других ситуаций;

Работа в виде расширения к Web-браузерам, в частности как полностью интегрированного модуля расширения для Netscape Navigator; основанная на Web работа оптимизирована для ограниченной пропускной способности и обеспечивает инкрементный доступ к мультимедийным данным, интеллектуальное кэширование и сжатие их при передаче;

Многоплатформенное подключение к серверу: или через прямое сетевое соединение, или через соединение Internet/WEB;

Исполнительная среда доступна для Windows 3.1, Windows 95, Windows NT, Macintosh и платформы UNIX/Motif.


 

Объектно-ориентированный процессор базы данных


 

Надежная база данных


 

Объектно-ориентированный процессор базы данных Jasmine обеспечивает надежный фундамент, необходимый для мультимедиа-приложений, доступных через Internet, и особенно для организации электронной коммерции. Эта среда обеспечивает целостность и безопасность данных, управление транзакциями, производительность, характерную для СУБД промышленного уровня.


 

Полная объектно-ориентированная функциональность


 

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


 

Jasmine поддерживает все возможности, характерные для современных объектно-ориентированных баз данных:

множественное наследование;

свойства экземпляров и классов;

методы экземпляров и классов;

собственная поддержка наборов с помощью методов для них.


 

Мощный объектно-ориентированный язык


 

Методы определяются в мощном объектно-ориентированном языке с собственным синтаксисом для обработки объектов базы данных, поиска в базе данных и навигации наборов. Благодаря этому языку снимаются барьеры, разделявшие ранее программирование и базу данных: методы работают в базе данных под полным контролем систем управления транзакциями и защиты информации.


 

Jasmine поддерживает методы, созданные в языках С и С++, что позволяет использовать накопленный опыт программирования и предоставляет возможность повторного использования существующей логики. Jasmine предусматривает также поддержку методов, разрабатываемых для Java - одного из важнейших средств создания приложений для Internet.


 

Широкая библиотека классов


 

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


 

Будучи полезными инструментами сами по себе, встроенные классы также обеспечивают основу для расширения, выступая в качестве предков для последующих классов, создаваемых для нужд конкретных приложений. Кроме основных классов, поддерживаемых CA, разработчики третьих фирм также поставляют библиотеки классов, что позволяет обеспечить мощную основу для разработки приложений.


 

Интеграция с реляционными базами данных


 

Jasmine предусматривает интегрированную поддержку дополнительных СУБД, в том числе реляционных систем, подобных CA-OpenIngres, Oracle, Sybase, Informix, SQLServer, а также СУБД для больших ЭВМ, таких как CA-IDMS, CA-Datacom, DB2. Благодаря представлению данных в виде объектов, такая интеграция позволяет применять методы, разработанные для объектов Jasmine, ко всем данным, хранящимся в разработанных ранее приложениях. Разумеется, новые приложения могут быть установлены и подключены к общей информационной системе "незаметно для пользователя", без изменения структуры существующих элементов.


 

Особенно тесно взаимодействует Jasmine с CA-OpenIngres, поддерживая бесшовное управление транзакциями, защиту информации, управление дублированием данных в среде CA-OpenIngres и Jasmine.


 

Гибкие API-интерфейсы


 

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


 

База данных Jasmine поддерживает API-интерфейсы для доступа к объектам из языков С, С++ и SmallTalk. Средства ActiveX также обеспечивают подключение баз данных к Visual Basic и другим системам разработки приложений, поддерживающим ActiveX.


 

Автоматический HTML-визуализатор


 

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


 

Среда разработки приложений


 

Интегрированная среда разработки


 

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


 

Просмотр и редактирование классов


 

Браузер классов используется для идентификации и редактирования классов и их методов. С его помощью обеспечивается визуальное представление всех классов в базе данных, их отношения наследования, атрибуты и методы. База данных содержит объекты различных классов, как тех, которые могут быть представлены в мультимедиа-приложениях, так и тех, которые остаются при этом "в тени" и используются как скрытые объекты.


 

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


 

Хранение объектов баз данных и ресурсов мультимедиа


 

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


 

Разработка мультимедиа-приложения


 

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


 

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


 

Размещение объектов на сцене


 

Все классы, объекты и запросы отображаются в окне "Add Object". Вы можете разместить их путем простой буксировки на сцену.


 

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


 

Определение взаимодействия и поведения


 

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


 

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


 

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


 

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


 

Исполнительная среда


 

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


 

Исполнительная среда может функционировать в двух режимах:


 

Автономный


 

В данном режиме мультимедиа-приложения выполняются на компьютере так же, как и другие приложения клиент/сервер. Этот режим наиболее часто используется для создания уникальной среды для пользователя в виде законченного приложения для специальных целей. Примерами таких приложений являются электронные каталоги на CD-ROM и автономные императивные системы мультимедиа со свободным доступом.


 

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


 

Интегрированный как модуль расширения в Web-браузере


 

Исполнительная среда Jasmine может функционировать как модуль расширения (или другой тип подключения) в Web-браузере. Это позволяет использовать мультимедиа-приложение как "applet" (небольшое специализированное приложение) в рамках HTML-страницы. Сфера его применения может быть различна: от простейших заставок и развлекательных анимационных роликов до сложнейших систем электронной коммерции.


 

В данной конфигурации исполнительная среда связывается с сетью посредством протокола HTTP, являющегося стандартом для Web. В отличие от других более ранних Web-модулей расширения, Jasmine не требует загрузки по линии связи или использования нефрагментированных анимационных роликов. Взаимодействие с сервером оптимизировано для обеспечения инкрементной загрузки, чтобы минимизировать требования к быстродействию сети и использовать механизмы кэширования WEB-браузеров, проксисов и серверов.


 

Программирование


 

Как в первом, так и во втором режиме исполнительная среда Jasmine доступна управлению со стороны пользователя. Web-браузеры с JavaScript или VBScript обеспечивают взаимодействие с мультимедиа-приложениями Jasmine. Кроме того, другие приложения, написанные на Visual Basic или другом языке, поддерживающем OLE-технологию, также имеют возможность доступа в среду Jasmine и управляют ею.


 

С процессором Pentium Pro связано появление целого ряда новых приложений в сфере управления бизнесом. Многие из этих приложений будут разработаны на Jasmine фирмы СА - одной из первых сред разработки приложений мультимедиа, которая полностью поддерживается объектной базой данных. Сочетание процессора Pentium Pro и системы Jasmine дает предприятиям возможность развернуть у себя развитые мультимедийные приложения, в которых максимально используются быстро растущие возможности Internet.


 


 


 

Cache`


 

Cache' представляет собой современную объектно-реляционную серверную СУБД, которая унаследовала технологию хранения и работы с данными а также надежность, производительность и неприхотливость к «железу» своих предшественников – M-систем.

M-системы развивались с 1978 года и изначально были ориентированы на многопользовательскую обработку данных. Наибольшее распространение M-системы получили в области медицины: госпиталях, больницах, лабораториях, и пр. где и поныне занимают большую часть рынка медицинских информационных систем.

Cache' обладает следующим набором свойств:

• Переносимость между различными программно-аппаратными платформами (см.таблицу ниже)

• Эффективное хранение данных. Данные хранятся не в таблицах, а в «деревьях», таким образом можно говорить о Cache' как о иерархической СУБД. Как следствие такого подхода, является то, что такие структуры позволяют хранить данные в виде неоднородных «записей», по сравнению с реляционными СУБД. В частности, поля такой «записи» могут быть неатомарными, что позволяет более стройно и адекватно моделировать предметную область. Кроме того в таких неоднородных записях не хранятся данные, которые не определены для той или иной «записи», поэтому древовидные структуры данных более компактны по сравнению с табличными аналогами, и, как следствие, очень эффективны для хранения разреженных неоднородных данных.

• Объектный и реляционный доступ к одним и тем же данным. В Cache полностью реализована объектная модель стандарта ODMG (Open Database Management Group), которая разрабатывать приложения в объектной среде. Естественным образом поддерживаются наследование (в том числе множественное), полиморфизм, коллекции. SQL-доступ к данным Cache' обеспечивает способность к взаимодействию с обычными реляционными приложениями, включая инструменты построения отчетов и аналитической обработки данных. Благодаря тому, что хранение данных в Cache' фактически осуществляется в эффективных многомерных структурах, приложения, использующие SQL в качестве языка запросов, работают намного быстрее.

В настоящее время реализованы конверторы для импорта схем из наиболее распространенных реляционных СУБД:

-Oracle

-MS SQL Server

-Informix

-Interbase

-Sybase

• Неприхотливость в системных требованиях. Для полноценной многопользовательской работы Cache'- приложения в режиме текстового терминала требуется минимальная аппаратная конфигурация клиентских рабочих мест – PC-286/386 или даже можно использовать такие реликты как ДВК, терминал СМ-7238, УКНЦ, и аппаратные терминалы. Если при этом использовать мультиплексорные карты – то не требуется даже сетевых карт и сетевых ОС на клиентах. Наибольшее распространение получила конфигурация, на основе TCP/IP+TELNET, когда в качестве ПО на клиенте стоят либо аппаратные терминалы, либо эмуляторы терминалов. Мощность этой схемы не зависит от системной конфигурации клиентов, а только лишь от мощности сервера. В большинстве случаев нарастить мощность одного сервера более выгодно, чем всего клиентского парка. Для функционирования сервера Cache' для небольшого количества пользователей, достаточно такой конфигурации компьютера, на которой комфортно «чувствует» себя операционная система, например сервер PII-300/128 Mb + Windows 2000 Pro позволит обслуживать до 30-40 терминальных пользователей, работающих в диалоговом режиме, с хорошим временем отклика.

• Надежность. В Cache' реализованы все средства для безостановочной работы системы. А именно:

-Обработка транзакций. Используя ее можно поддерживать прикладные данные в состоянии логической целостности даже после сбоя аппаратуры.

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

-Резервирование данных одновременно с работой пользователей и непрекращающейся корректировкой базы данных.

-Параллельная обработка данных в многопроцессорных системах

-Средства проектирования данных. Для проектирования сложных задач, Cache' может использоваться в связке с таким CASE-средством как Rational Rose.Классы, описанные в Rose полностью импортируются (экспортируются) в (из) Cache'.

-Поддержка Web-доступа к данным (Cache Server Pages). В Cache' реализована технология идеологически похожая на Microsoft ASP, но реализованная более эффективно. Кроме этого в ближайшей версии появится поддержка Web-сервисов через стандарт SOAP

-Языки программирования для разработки приложений. В настоящее время «родными» (native) языками Cache' являются: Cache Object Script (COS), Cache' Basic. И тот и другой снабжены конструкциями для объектного доступа к БД. Cache' Basic является практически полным аналогом MS Visual Basic 6.0 поэтому программисты, знакомые с VB могут без каких либо затруднений начать разрабатывать Cache'-приложения. Языковое ядро Cache' спроектировано таким образом, что позволяет добавлять новые языки программирования, как native-языки. В ближайшее время будет добавлен еще Cache' Java, и, если потребует рынок, другие популярные языки программирования.

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


 

Технологии Cache':

1. Caché Server Pages – дает возможность разрабатывать приложения для Web. Технология работает со многими веб-серверам и ОС (см.таблицу)

2. Caché ODBC – дает другим реляционным приложениям и инструментариям возможность доступа к данным на сервере Cache'. ODBC-драйвер реализован для многих Unix-платформ и для всей линейки Windows-платформ.

3. Caché JDBC – высокопроизводительный драйвер для доступа к серверу Cache' приложений написанных на Java.

4. Caché XML & Web Services – предоставляет возможность серверу Cache' взаимодействовать с внешними приложениями через XML и SOAP.

5. Caché Object Server для Java и EJB – объектный сервер для Java, представляющий Cache'-классы как «родные» для Java классы.

6. Caché Object Server для ActiveX – объектный ActiveX-сервер, представляющий Cache'-классы для приложений, использующих технологию ActiveX (VB, .NET)

7. Caché Object Server для C++ – объектный сервер для приложений на C++, представляющий Cache'-классы как C++ - классы.

8. Caché SQL Gateway - дает Cache'-приложениям объектный доступ к реляционным СУБД, например Oracle, MS SQL Server

9. Caché ActiveX Gateway - дает Cache'-приложениям прямой доступ к ActiveX/COM/.NET компонентам


 

Поддерживаемые платформы:

Alpha OpenVMS 7.2, 7.2-2, 7.3

Alpha Tru64 UNIX 5.1

AViiON (Intel) DG/UX 4.2

HP HP/UX 11, 11i

IBM P Series AIX 4.3.3, 5.1

Red Hat Linux (Intel) 7.1

Sun Solaris (Intel) 2.8

Sun Solaris (SPARC) 2.8

SuSE Linux (Intel) 7.1

Windows 95, 98, ME, NT 4 (SP4, SP5, SP6), 2000, XP*


 

Поддерживаемы Web-серверы:

-Microsoft IIS / PWS

-Apache 1.3.12

-Netscape / Sun iPlanet 4.0

-Compaq Secure Web Server 1.0


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 

Системы с открытым исходным кодом

MongoDB


 


 

MongoDB — документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Написана на языке C++.


 

СУБД управляет наборами JSON-подобных документов, хранимых в двоичном виде в формате BSON. Подобно другим документо-ориентированным СУБД (CouchDB, пр.), MongoDB не является реляционной СУБД.


 

Основные возможности данной СУБД:

Документо-ориентированное хранилище (простая и мощная JSON-подобная схема данных)

Динамические запросы

Полная поддержка индексов

Профилирование запросов

Быстрые обновления «на месте»

Эффективное хранение двоичных данных больших объёмов, напр., фото и видео

Репликация и поддержка fail-over

MapReduce


 

MongoDB, по мнению разработчиков, должна заполнить разрыв между простыми хранилищами данных типа «ключ-значение» (быстрыми и легко масштабируемыми) и большими РСУБД (со структурными схемами и мощными запросами).


 

Имеется подробная и качественная документация, большое число примеров и драйверов под популярные языки Java, CPP, Python, Perl, Ruby.[1] Заявляется, что релиз MongoDB 1.0.0 готов к использованию в производстве как в качестве единичного мастера, так и в связках master/slave. Код этого релиза достаточно стабилен и проверен в промышленной эксплуатации на протяжении 1,5 лет.[2] MongoDB — продукт довольно молодой, и в нем встречаются ошибки, появляются новые возможности и т.д. Характерен высокий темп разработки (проект пишут не только волонтеры, но и компания людей на полной занятости).[3] Компания-разработчик предоставляет платные поддержку, хостинг, консультации.


 

Кассандра

Кассандра: Это распределенная система управления базами данных с открытым исходным кодом созданная по принципу хеш-значения. Она была разработана Facebook и открыта в июле 2008 года. Она обеспечивает структурированный ключ-значение.

Он рассматривается как гибрид BigTable и Amazon Dynamo Key-Value Store. В настоящее время используют Facebook, Digg и Twitter.

HyperTable

HyperTable: Это с открытым исходным кодом базы данных на основе BigTable Google. Раньше HDFS (Hadoop распределенной файловой системы) в системе хранения файлов.


 


 


 


 


 


 


 

Российская объектная СУБД - ODB-Jupiter


 

Это оригинальная разработка научно-производственного центра "Интелтек Плюс". При разработке программы ставилось несколько целей: обработка неструктурированной информации, хранение документов сложной структуры, встроенная поддержка полнотекстового поиска, возможность расширения набора типов СУБД.


 

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


 

СУБД включает в себя три уровня. Первый – уровень управления файлами базы данных. База данных состоит из файла данных и файла индекса. На этом уровне решается задача поддержания целостности данных. Каждой записи при добавлении присваивается уникальный номер – идентификатор, который однозначно определяет положение записи в базе данных. Второй уровень – дескрипторный. На этом уровне известны имена типов записей, хранящихся в БД и присутствуют методы для доступа к компонентам структурированной записи. Таким образом, возможно оперативное извлечение информации без загрузки объекта в оперативную память целиком. На третьем - объектном уровне - присутствуют объекты базы данных, которые взаимодействуют по определенным правилам. Объектный уровень предоставляет обширный программный интерфейс объектно-ориентированной СУБД. Программный интерфейс СУБД собран в одной динамически загружаемой библиотеке. Разработчик приложения никак не ограничивается количеством используемых узлов сети и баз данных. Как правило, разработчик-программист создает ряд классов, которые планируется сохраня.


 

Одна из ключевых особенностей ODB-Jupiter заключается в том, что в ядро СУБД встроен модуль полнотекстового поиска, что позволило очень эффективно реализовать индексацию и поиск текстовых данных, сохраняемых в базе.


 


 

Области применения


 

Области, в которых у ОРСУБД дела обстоят хорошо, включают управление графической, аудио, видео, текстовой информацией, временными рядами, геопростраственными данными, а также Web-приложения. Для управления медиа-информацией требуется применение идейно простых методов к неструктурированным данным. В отличие от этого, управление временными рядами и геопространственными данными требует наличия относительно сложных структур данных и применения аналитических методов. Web-приложения занимают промежуточную позицию, основываясь на неструктурированных данных для представления шаблонов динамических страниц и усложненных методах управления переменными, логикой страниц и запросами к базам данных. Принятие для использования расширяемого языка разметки (eXtensible Markup Language - XML) поможет добиться большей структуризации шаблонов Web-страниц и других документов.


 

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


 

OLAP и хранилища данных (datawarehousing). OLAP (On-Line Analitycal Processing) - это интерактивный, исследовательский анализ данных, основанный на выделении нужных слоев многомерных кубов и агрегировании по измерениям. Развитые OLAP-системы позволяют связывать индивидуальные значения с агрегатами и с другими значениями. Для этих систем важно то, что можно делать с данными, а не как они хранятся. Можно хранить кубы в специализированной многомерной базе данных или с помощью РСУБД. В последнем случае многомерное представление достигается с помощью реляционных OLAP-систем (ROLAP).


 

У каждого поставщика ОРСУБД имеются OLAP-средства. Компания IBM интегрирует продукт Essbase компании Arbor Software Corp. с DB2 и обеспечивает использование своего продукта Visual Warehouse в продуктах компании Cognos, Inc.. Informix продает средство Metacube ROLAP, которое основано на технологии, полученной от Stanford Technology Group. Oracle предлагает Express Server (купленный у компании Information Resources, Inc., в просторечии IRI Software), история которого восходит к 1970 г. Однако перспективы встраивания функций OLAP в ОРСУБД кажутся отдаленными. Расширения собственных аналитических возможностей СУБД выглядят, в лучшем случае, неоднородными. К хорошим примерам относятся продукты SQL Expander для DB2 компании The Fillmore Group, Inc., обеспечивающий ряд аналитических функций для обычных данных DB2, и S-Plus DataBlade компании Mathsoft Inc., предоставляющий возможности статистического анализа, моделирования и визуализации.


 

Возможно, поставщики не имеют стимула, полагая, что их текущие реляционные и многомерные СУБД хорошо обслуживают приложения. Но имеются и технические проблемы, такие как написание эффективного кода для управления большими разреженными многомерными массивамм данных с множественными иерархиями и потребность в единообразных, быстрых, не ограниченных одним измерением вычислениях. Аналогичные трудности сохраняются для хранилищ данных, которые обычно основываются на многомерных моделях данных, реализуемых звездообразными схемами (или вариантами "снежинка" и "создездие"). В реализациях используются битовые индексы, доступные в традиционных СУБД. (Джерри Додж и Тим Горман (Gary Dorge and Tim Gorman, Oracle8 Data Warehousing, John Wiley & Sons, 1998) утверждают, что они осветили все возможности Oracle7 и Oracle8, но во всей книге не разу не упомянута поддержка объектов в Oracle8.)

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


 

Планирование ресурсов предприятия (Enterprise Resource Planning - ERP) требует наличия нескольких приложений, критичных для крупномасштабных организаций: финансы, человеческие ресурсы, управление системой поставок и т.д. На рынке ERP доминирует всего несколько поставщиков, в число которых входят SAP, Baan, PeopleSoft и Oracle. Их программное обеспечение обычно строится поверх РСУБД.


 

ERP-приложения выполняют много транзакционных функций, которые базируются на нормализации для гарантирования высокого уровня параллельности и эффективности за счет минимизации числа обращений к дискам и блокировок. Другой важной областью применения РСУБД являются приложения, не относящиеся к категории ERP: резервирование, управление продажами, обслуживание заказчиков и т.д. Не слышно, чтобы поставщики таких приложений собирались перейти к использованию ОРСУБД. Продукт Universal Database Enabler компании Formida дает возможность использования объектов R/3 в приложениях Formida, но из этого не следует, что SAP применяет средства ОРСУБД. Единственной новостью, вызывающей вопросы, является участие компании Baan в разработке JavaBlend. Заключение автора: современные ОРСУБД могут являться универсальными серверами, но они далеки от универсального использования. Они могут управлять новыми типами данных, но поставщики корпоративных приложений вполне удовлетворены набором типов и ограниченными возможностями расширений РСУБД.

Что можно сказать про распределенные объектные вычисления?


 

Распределенные объектные вычисления, развитие которых стимулировалось взрывообразным ростом Internet, являются превалирующей тенденцией середины и конца 90-х: настоящая следующая большая волна. Сегодняшние сражения происходят не в связи с настольными операционными системами или офисным программным обеспечением (до следующей смены парадигмы лидером в этих областях останется Microsoft), не в связи с браузерами или СУБД. Реальные баталии ведутся по поводу объектных моделей: COM против JavaBeans против CORBA/IIOP (если еще не слишком поздно).


 

Потенциально ОРСУБД могут играть роль центра в распределенной сети объектов. При наличии в ОРСУБД надежного управления транзакциями, масштабируемости, интерфейсов CORBA, COM, Java RMI и Beans, эти системы могут служить естественным выбором для поддержки брокеров объектных заявок и управления неоднородными распределенными транзакциями. Имеются признаки того, что IBM и Informix развивают свои СУБД для обеспечения этих сервисов. Это особенно критично для компании Informix, которой нужно дождаться развития рынка приложений ОРСУБД. Следует ожидать интересных результатов.


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 

Выводы


 

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

Так как есть круг задач, которые удобнее решить реляционным методом,а есть другие задачи,успешно решаемые объектным методом.


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 

Используемые источники


 

  1. www.wikipedia.ru Открытый источник информации
  2. www.citforum.ru
  3. www.intuit.ru/ INTUIT.ru
  4. Постреляционная эра: реляционная или объектная? В.А. Федоров

Основы современных баз данных www.citmgu.ru

понедельник, 16 марта 2009 г.

Бесплатные аналоги MatLab

Сегодня начальник попросил меня поставить на компьютеры нашей каферды бесплатные аналоги Matlab....Ну чтож,сказано-сделано-полез в интернет узнавать ,какие же есть аналоги этого математического пакета.И не только его.



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

на многих системах, включая Windows, Linux и MacOS X. Исходный код достпен для скачивания на http://maxima.sourceforge.net/



Maximaявляется потомком Macsyma, легендарной компьютерной алгебры системы, разработанной в конце 1960-х годов в Массачусетском технологическом институте. Она является единственной системой, основанной на активном сообществе пользователей.
Благодаря своему характеру с открытым исходным кодом. Macsyma была революционной в свое время.


Giac/Xcas
- бесплатный мультплатформный пакет символьной математики и численных расчетов. Включает 2D и 3D графику, электронные таблицы. С-подобный язык программирования. Имеет режим совместимости с Maple и MuPad.

Xcas представляет собой интерфейс для выполнения компьютерной алгебры, функции графики, интерактивных геометрия (2-й и 3-D), электронных таблиц и статистических данныx. это бесплатный (GPL) C + + библиотеки, это ядро вычислений, она может быть использована внутри других C + + приложений.







FreeMat

FreeMat является бесплатной средой для быстрых инженерных и научных вычислений и обработки данных. Она похожа на коммерческие системы, такие, как от Mathworks MATLAB и IDL из научно-исследовательских систем, но с открытым исходным кодом. FreeMat доступен под лицензией GPL.

Доступен по адресу http://freemat.sourceforge.net/



суббота, 14 марта 2009 г.

Izgotovitel.java

А это код для таблицы изготовитель.

Используются методы set/get .

Скорее всего парочку методов придется добавить,так как и структура таблиц притерпит изменения.Но пока оставим как есть.

/*

 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package diplom;

import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 *
 * @author konstantin
 */
@Entity
@Table(name = "izgotovitel", catalog = "diplom", schema = "")
@NamedQueries({@NamedQuery(name = "Izgotovitel.findAll", query = "SELECT i FROM Izgotovitel i"), @NamedQuery(name = "Izgotovitel.findByNaimenovanie", query = "SELECT i FROM Izgotovitel i WHERE i.naimenovanie = :naimenovanie"), @NamedQuery(name = "Izgotovitel.findByAdress", query = "SELECT i FROM Izgotovitel i WHERE i.adress = :adress"), @NamedQuery(name = "Izgotovitel.findByDirector", query = "SELECT i FROM Izgotovitel i WHERE i.director = :director"), @NamedQuery(name = "Izgotovitel.findByTelefon", query = "SELECT i FROM Izgotovitel i WHERE i.telefon = :telefon"), @NamedQuery(name = "Izgotovitel.findByMail", query = "SELECT i FROM Izgotovitel i WHERE i.mail = :mail"), @NamedQuery(name = "Izgotovitel.findById", query = "SELECT i FROM Izgotovitel i WHERE i.id = :id")})
public class Izgotovitel implements Serializable {
  @Transient
  private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
  private static final long serialVersionUID = 1L;
  @Column(name = "naimenovanie")
  private String naimenovanie;
  @Column(name = "adress")
  private String adress;
  @Column(name = "director")
  private String director;
  @Column(name = "telefon")
  private String telefon;
  @Column(name = "mail")
  private String mail;
  @Id
  @Basic(optional = false)
  @Column(name = "ID")
  private Integer id;

  public Izgotovitel() {
  }

  public Izgotovitel(Integer id) {
  this.id = id;
  }

  public String getNaimenovanie() {
  return naimenovanie;
  }

  public void setNaimenovanie(String naimenovanie) {
  String oldNaimenovanie = this.naimenovanie;
  this.naimenovanie = naimenovanie;
  changeSupport.firePropertyChange("naimenovanie", oldNaimenovanie, naimenovanie);
  }

  public String getAdress() {
  return adress;
  }

  public void setAdress(String adress) {
  String oldAdress = this.adress;
  this.adress = adress;
  changeSupport.firePropertyChange("adress", oldAdress, adress);
  }

  public String getDirector() {
  return director;
  }

  public void setDirector(String director) {
  String oldDirector = this.director;
  this.director = director;
  changeSupport.firePropertyChange("director", oldDirector, director);
  }

  public String getTelefon() {
  return telefon;
  }

  public void setTelefon(String telefon) {
  String oldTelefon = this.telefon;
  this.telefon = telefon;
  changeSupport.firePropertyChange("telefon", oldTelefon, telefon);
  }

  public String getMail() {
  return mail;
  }

  public void setMail(String mail) {
  String oldMail = this.mail;
  this.mail = mail;
  changeSupport.firePropertyChange("mail", oldMail, mail);
  }

  public Integer getId() {
  return id;
  }

  public void setId(Integer id) {
  Integer oldId = this.id;
  this.id = id;
  changeSupport.firePropertyChange("id", oldId, id);
  }

  @Override
  public int hashCode() {
  int hash = 0;
  hash += (id != null ? id.hashCode() : 0);
  return hash;
  }

  @Override
  public boolean equals(Object object) {
  // TODO: Warning - this method won't work in the case the id fields are not set
  if (!(object instanceof Izgotovitel)) {
  return false;
  }
  Izgotovitel other = (Izgotovitel) object;
  if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
  return false;
  }
  return true;
  }

  @Override
  public String toString() {
  return "diplom.Izgotovitel[id=" + id + "]";
  }

  public void addPropertyChangeListener(PropertyChangeListener listener) {
  changeSupport.addPropertyChangeListener(listener);
  }

  public void removePropertyChangeListener(PropertyChangeListener listener) {
  changeSupport.removePropertyChangeListener(listener);
  }

}

Detali.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

//   Собственно тут мы описываем необходимые поля и методы доступа к ним.

// Сгенерировано Нетбинсом на основании моей таблицы Детали.

package diplom;

import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 *
 * @author konstantin
 */
@Entity
@Table(name = "detali", catalog = "diplom", schema = "")
@NamedQueries({@NamedQuery(name = "Detali.findAll", query = "SELECT d FROM Detali d"), @NamedQuery(name = "Detali.findById", query = "SELECT d FROM Detali d WHERE d.id = :id"), @NamedQuery(name = "Detali.findByNaimenovanie", query = "SELECT d FROM Detali d WHERE d.naimenovanie = :naimenovanie"), @NamedQuery(name = "Detali.findByPrice", query = "SELECT d FROM Detali d WHERE d.price = :price"), @NamedQuery(name = "Detali.findByKolichestvo", query = "SELECT d FROM Detali d WHERE d.kolichestvo = :kolichestvo"), @NamedQuery(name = "Detali.findBySklad", query = "SELECT d FROM Detali d WHERE d.sklad = :sklad"), @NamedQuery(name = "Detali.findByIzgotovitel", query = "SELECT d FROM Detali d WHERE d.izgotovitel = :izgotovitel")})
public class Detali implements Serializable {
  @Transient
  private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
  private static final long serialVersionUID = 1L;
  @Id
  @Basic(optional = false)
  @Column(name = "ID")
  private Integer id;
  @Column(name = "naimenovanie")
  private String naimenovanie;
  @Column(name = "price")
  private Integer price;
  @Column(name = "kolichestvo")
  private Integer kolichestvo;
  @Column(name = "sklad")
  private Integer sklad;
  @Column(name = "izgotovitel")
  private String izgotovitel;

  public Detali() {
  }

  public Detali(Integer id) {
  this.id = id;
  }

  public Integer getId() {
  return id;
  }

  public void setId(Integer id) {
  Integer oldId = this.id;
  this.id = id;
  changeSupport.firePropertyChange("id", oldId, id);
  }

  public String getNaimenovanie() {
  return naimenovanie;
  }

  public void setNaimenovanie(String naimenovanie) {
  String oldNaimenovanie = this.naimenovanie;
  this.naimenovanie = naimenovanie;
  changeSupport.firePropertyChange("naimenovanie", oldNaimenovanie, naimenovanie);
  }

  public Integer getPrice() {
  return price;
  }

  public void setPrice(Integer price) {
  Integer oldPrice = this.price;
  this.price = price;
  changeSupport.firePropertyChange("price", oldPrice, price);
  }

  public Integer getKolichestvo() {
  return kolichestvo;
  }

  public void setKolichestvo(Integer kolichestvo) {
  Integer oldKolichestvo = this.kolichestvo;
  this.kolichestvo = kolichestvo;
  changeSupport.firePropertyChange("kolichestvo", oldKolichestvo, kolichestvo);
  }

  public Integer getSklad() {
  return sklad;
  }

  public void setSklad(Integer sklad) {
  Integer oldSklad = this.sklad;
  this.sklad = sklad;
  changeSupport.firePropertyChange("sklad", oldSklad, sklad);
  }

  public String getIzgotovitel() {
  return izgotovitel;
  }

  public void setIzgotovitel(String izgotovitel) {
  String oldIzgotovitel = this.izgotovitel;
  this.izgotovitel = izgotovitel;
  changeSupport.firePropertyChange("izgotovitel", oldIzgotovitel, izgotovitel);
  }

  @Override
  public int hashCode() {
  int hash = 0;
  hash += (id != null ? id.hashCode() : 0);
  return hash;
  }

  @Override
  public boolean equals(Object object) {
  // TODO: Warning - this method won't work in the case the id fields are not set
  if (!(object instanceof Detali)) {
  return false;
  }
  Detali other = (Detali) object;
  if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
  return false;
  }
  return true;
  }

  @Override
  public String toString() {
  return "diplom.Detali[id=" + id + "]";
  }

  public void addPropertyChangeListener(PropertyChangeListener listener) {
  changeSupport.addPropertyChangeListener(listener);
  }

  public void removePropertyChangeListener(PropertyChangeListener listener) {
  changeSupport.removePropertyChangeListener(listener);
  }

}

пятница, 13 марта 2009 г.

Итак, разработка АРМ специалиста отдела поставок электро-радио изделий постепенно набирает обороты

Для начала составим структуру таблиц (предварительная)
Псевдо SQL
Table Detali

ID int NOT NULL
naimenovanie varchar(50) NOT NULL,
price int,
kolichestvo int,
sklad int,
izgotovitel varchar(100) NOT NULL



Table Izgotovitel
naimenovanie varchar(100) NOT NULL,
adress varchar(200) NOT NULL,
director varchar(100),
telefon varchar(20),
e-mail varchar(255)

пока это все,но думаю что далее добавлю еще что нибудь...

суббота, 7 марта 2009 г.

Делаю бакалаврскую работу,цель которой-создание АРМ для специалиста по продажам электронных изделий.
В качестве среды разработки выбрал NetBeans 6.5 а в качестве СУБД MySQL5 .
Сейчас для разминки создаю приложение из туториала www.netbeans.org, в котором используется библиотека Hibernate и довольно подробно описывается и обьясняется процесс создания,подключения и работы с БД.

Промежуточный результат-подключенная база sakila вместе с содержимым.

пятница, 6 марта 2009 г.

C Наступающим праздником,дорогие девушки!

Счастья,радости и веселья!Пусть вам в жизни всегда встречаются радостные улыбки))