Разработка базы данных патентов

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 27.05.2013
Размер файла 295,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

ГОУ ВПО «Московский государственный университет приборостроения и информатики»

Факультет ИТ

Кафедра ИТ-7 «Автоматизированные системы управления и информационные технологии»

ДОМАШНЯЯ РАБОТА

по дисциплине: «Управление данными»

на тему: «Разработка базы данных патентов»

Выполнил: студент 4-го курса

Группы 230201

специальности 230201

Кириченко М.А.

Преподаватель: Чижиков В.И.

Москва - 2013

СОДЕРЖАНИЕ

ТЕКСТОВОЕ ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

Основные предметно-значимые сущности и их атрибуты

Ограничения предметной области

Основные требования к функциям системы

МОДЕЛИРОВАНИЕ ДАННЫХ

Концептуальная схема базы данных в виде ER-диаграммы

Схема данных

ЛИСТИНГ

Листинг файла unititel4.pro

Листинг файла mainwindow.h

Листинг файла main.cpp

Листинг файла mainwindow.cpp

Форма mainwindow.ui

ТЕКСТОВОЕ ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

СУБД Патенты - центр информации о патентах. Представление более подробной информации о каждом из них.

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

база данный патент предметная

Основные предметно-значимые сущности и их атрибуты

Сущности:

Patent

Data

Claim

Owner

Сущности Patent соответствуют атрибуты:

Patent_id

Title

Owner

Country

Data

Claim

Сущности Data соответствуют атрибуты:

Data_id

Patent_number

Date_of_filing

Date_of_issue

Class_of_patent

Сущности Claim соответствуют атрибуты:

Claim_id

Formula

Сущности Owner соответствуют атрибуты:

Owner_id

Owner_Name

Ограничения предметной области

Patent - содержит следующие данные:

- Patent_id - ключевой атрибут, содержит уникальное значение.

- Title - название патента.

- Owner - атрибут типа int, который устанавливает отношение с сущностью Owner.

- Country - страна патентования.

- Data - атрибут типа int, который устанавливает отношение с сущностью Data.

- Claim - атрибут типа int, который устанавливает отношение с сущностью Claim.

2) Data - содержит следующие данные:

- Data_id - ключевой атрибут, содержит уникальное значение.

- Patent_number - идентификационный номер патента.

- Data_of_filing - дата подачи заявки.

- Data_of_issue - дата принятия заявки.

- Class_of_patent - класс патента.

3) Claim - содержит следующие данные:

- Claim_id - ключевой атрибут, содержит уникальное значение.

- Formula - формула патента.

4) Owner - содержит следующие данные:

- Owner_id - ключевой атрибут, содержит уникальное значение.

Основные требования к функциям системы

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

МОДЕЛИРОВАНИЕ ДАННЫХ

Концептуальная схема базы данных в виде ER-диаграммы

Схема данных

ЛИСТИНГ

Листинг файла unititel4.pro

QT += core gui

QT += sql

TARGET = untitled4

TEMPLATE = app

SOURCES += main.cpp\

mainwindow.cpp

HEADERS += mainwindow.h

FORMS += mainwindow.ui

Листинг файла mainwindow.h

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include <QMainWindow>

#include <QtSql>

namespace Ui {

class MainWindow;

}

class MainWindow : public QMainWindow

{

Q_OBJECT

public:

explicit MainWindow(QWidget *parent = 0);

~MainWindow();

private slots:

void on_pushButton_clicked();

void AllTable();

void showData(QModelIndex index);

void showClaim(QModelIndex index);

private:

Ui::MainWindow *ui;

QSqlQueryModel *model;

QSqlRelationalTableModel *mod;

};

#endif // MAINWINDOW_H

Листинг файла main.cpp

#include <QtGui/QApplication>

#include "mainwindow.h"

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

MainWindow w;

w.show();

return a.exec();

}

Листинг файла mainwindow.cpp

#include "mainwindow.h"

#include "ui_mainwindow.h"

#include <QtSql>

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);

// Соединение с базой данных

QSqlDatabase dbase = QSqlDatabase::addDatabase("QSQLITE");

dbase.setDatabaseName("patent.sqlite");

ui->tableView->setShowGrid(false); // Убирает сетку в таблице

ui->tableView_2->setHidden(true); // Видимость таблицы 2

ui->tableView_3->setHidden(true); // Видимость Таблицы 3

// Очистка комбо-бокса и вставка вариантов

ui->comboBox->clear();

ui->comboBox->insertItem(0,"ChoseTable");

ui->comboBox->insertItem(1,"Patent");

ui->comboBox->insertItem(3,"Data");

ui->comboBox->insertItem(4,"Claim");

ui->comboBox->insertItem(5,"Owner");

// При выборе варианта в комбо-боксе, отправляется сигнал в слот AllTable

connect(ui->comboBox, SIGNAL(currentIndexChanged(QString)), SLOT(AllTable()));

}

MainWindow::~MainWindow()

{

delete ui;

}

// Функция, которая отображает варианты выбранные в комбо-боксе

void MainWindow::AllTable()

{

mod = new QSqlRelationalTableModel(this);

if(ui->comboBox->currentText() == "Patent") {

ui->tableView_2->setHidden(false);

ui->tableView_3->setHidden(false);

mod->setTable("Patent");

// Устанавливает отношения между таблицей Patent и другими

mod->setRelation(2, QSqlRelation("Owner", "Owner_id", "Owner_Name"));

mod->setRelation(4, QSqlRelation("Data", "Data_id", "Data_id"));

mod->setRelation(5, QSqlRelation("Claim", "Claim_id", "Claim_id"));

// При нажатии, отправляет сигнал в слот showData и showClaim

connect(ui->tableView, SIGNAL(clicked(QModelIndex)),this, SLOT(showData(QModelIndex)));

connect(ui->tableView, SIGNAL(clicked(QModelIndex)),this, SLOT(showClaim(QModelIndex)));

}

else if(ui->comboBox->currentText() == "Data") {

ui->tableView_2->setHidden(true);

ui->tableView_3->setHidden(true);

mod->setTable("Data");

}

else if(ui->comboBox->currentText() == "Claim") {

ui->tableView_2->setHidden(true);

ui->tableView_3->setHidden(true);

mod->setTable("Claim");

}

else if(ui->comboBox->currentText() == "Owner") {

ui->tableView_2->setHidden(true);

ui->tableView_3->setHidden(true);

mod->setTable("Owner");

}

else {

ui->tableView_2->setHidden(true);

ui->tableView_3->setHidden(true);

mod->clear();

}

mod->select();

ui->tableView->setModel(mod);

}

// Активируется в 1 таблице по сигналу, показывает данные во 2 таблице

void MainWindow::showData(QModelIndex index)

{

mod = new QSqlRelationalTableModel;

QSqlRecord record = mod->record(index.row());

mod->setTable("Data");

mod->setFilter("Data_id = '" + index.data().toString() + '\'');

mod->select();

ui->tableView_2->setModel(mod);

}

// Активируется в 1 таблице по сигналу, показывает данные во 3 таблице

void MainWindow::showClaim(QModelIndex index)

{

mod = new QSqlRelationalTableModel;

QSqlRecord record = mod->record(index.row());

mod->setTable("Claim");

mod->setFilter("Claim_id = '" + index.data().toString() + '\'');

mod->select();

ui->tableView_3->setModel(mod);

ui->tableView_3->setRowHeight(0,500);

ui->tableView_3->setColumnWidth(1,500);

}

// Выполняет SQL запрос при нажатии на кнопку

void MainWindow::on_pushButton_clicked()

{

ui->tableView_2->setHidden(true);

ui->tableView_3->setHidden(true);

model = new QSqlQueryModel;

QSqlQuery query;

QString str = ui->lineEdit->text();

query.exec(str);

model->setQuery(query);

ui->tableView->setModel(model);

}

Форма mainwindow.ui

Список литературы

1. Дейт К. «Введение в системы баз данных»

2. http://doc.crossplatform.ru/qt/4.5.0/qsqlrelationaltablemodel.html

3. http://citforum.ru/database/dblearn/dblearn06.shtml#01

4. http://habrahabr.ru/post/51650/

5. http://citforum.ru/database/dblearn/dblearn06.shtml#01

Размещено на http://www.allbest.ru


Подобные документы

  • Сущности и функциональные зависимости базы данных. Атрибуты и связи. Таблицы базы данных. Построение ER-диаграммы. Организация ввода и корректировки данных. Реляционная схема базы данных. Реализация запросов, получение отчетов. Защита базы данных.

    курсовая работа [2,4 M], добавлен 06.02.2016

  • Информационно-логическая модель предметной области по нотациям Ричарда Баркера. Даталогическая модель реляционной базы данных в виде диаграммы схемы отношений. Приложение интерфейса для базы данных на языке программирования С# в среде Visual Studio.

    курсовая работа [3,6 M], добавлен 23.12.2014

  • Системный анализ и анализ требований к базе данных. Концептуальная и инфологическая модель предметной области. Типы атрибутов в логической модели базы. Физическая модель проектируемой базы данных в методологии IDEF1X. Требования к пользователям системы.

    курсовая работа [2,3 M], добавлен 21.11.2013

  • Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.

    курсовая работа [318,6 K], добавлен 24.12.2014

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

    курсовая работа [1,3 M], добавлен 08.08.2012

  • Цель инфологического моделирования предметной области. Источники данных, базы данных и система управления, разработка модели. Принципы проектирования базы данных, концептуальная, логическая, материальная разработка. Типы сущностей, атрибутов и связей.

    курсовая работа [188,6 K], добавлен 15.07.2012

  • Определение предметной области базы данных ("Сеть ресторанов"), виды ее моделирования. Первоначальный набор сущностей и атрибутов предметной области. Процесс смыслового наполнения базы данных. Атрибуты в концептуальной модели. Характеристика видов связей.

    контрольная работа [510,9 K], добавлен 03.12.2014

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

    контрольная работа [648,7 K], добавлен 13.04.2012

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

    курсовая работа [877,8 K], добавлен 28.05.2012

  • Выбор методологии проектирования и системы управления базами данных. Описание предметной области и проектирование физической структуры базы данных. Реализация проекта в MS SQL Server 2008. Построение инфологической модели. Ограничения целостности связи.

    курсовая работа [679,2 K], добавлен 22.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.