16977

Облік майна по матеріально-відповідальних особах

Практическая работа

Информатика, кибернетика и программирование

Практична робота №19-24 Тема: Індивідуальне завдання. Дослідження предметної області. Мета: Ознайомиться з предметною областью та дослідити її. Обладнання: Персональний компютер з встановленою операційною системою Windows система управління базами даних Access або Ms SQL ...

Украинкский

2013-06-28

74.5 KB

3 чел.

Практична робота №19-24

Тема: Індивідуальне завдання. Дослідження предметної області.

Мета: Ознайомиться з предметною областью та дослідити її.  

Обладнання: Персональний комп'ютер з встановленою операційною системою Windows система управління базами даних Access або Ms SQL Server.

Індивідуальне завдання № 9.

Облік майна по матеріально-відповідальних особах.

Необхідно створити базу даних для організації введення інформації про майно, за яке несе відповідальність матеріально-відповідальна особа.

Звіт: реєстр майна по критеріях (розташування, по стану): номенклатурний номер, найменування товару, ціна, кількість, інвентарний номер.

Атрибути

товари: номенклатурний номер, найменування товару, ціна, кількість, інвентарний номер, розташування (корпус, кімната або інше приміщення), стан (відмінне, хороше, задовільне, погане, необхідно списати).

матеріально-відповідальні: прізвище, ім'я, по батькові, підрозділ.

Таблицы

товари

інвентарний номер (первичный ключ)

номенклатурний номер

розташування

стан (домен)

инфо

номенклатурний номер (первичный ключ)

найменування товару

ціна

кількість

люди

код (первичный ключ)

прізвище

ім'я

по батькові

підрозділ

таблица связей

інвентарний номер

ідентифікатор_людини

CREATE TABLE инфо (

nomenkl_id INT NOT NULL,

name TEXT,

PRIMARY KEY ( nomenkl_id )

);

CREATE DOMAIN t_status AS TEXT

CHECK (

VALUE = 'отличное'

OR VALUE = 'хорошее'

OR VALUE = 'удовлетворительное'

OR VALUE = 'плохое'

OR VALUE = 'подлежит списанию'

);

CREATE TABLE товары (

tov_id INT NOT NULL,

nomenkl_id INT,

model TEXT,

cost FLOAT,

place TEXT,

status t_status,

PRIMARY KEY ( tov_id ),

FOREIGN KEY ( nomenkl_id ) REFERENCES инфо (nomenkl_id)

);

CREATE VIEW количество AS

SELECT nomenkl_id, count(nomenkl_id) AS tov_count

FROM товары

GROUP BY nomenkl_id;

CREATE TABLE люди (

hkey INT NOT NULL,

hfam TEXT,

hima TEXT,

hotch TEXT,

otdel TEXT,

PRIMARY KEY ( hkey )

);

CREATE TABLE зависимости (

tov_id INT NOT NULL,

hkey INT NOT NULL,

FOREIGN KEY ( tov_id ) REFERENCES товары ( tov_id ),

FOREIGN KEY ( hkey ) REFERENCES люди ( hkey )

);

INSERT INTO инфо ( nomenkl_id, name ) VALUES

( 1, 'Стол компьютерный' ),

( 2, 'Стол письменный' ),

( 3, 'Стул' ),

( 4, 'Принтер' ),

( 5, 'Усилитель мощности' ),

( 6, 'Аккустические колонки (пара)' ),

 ( 7, 'Ведро мусорное' );

INSERT INTO товары ( tov_id, nomenkl_id, model, cost, place, status ) VALUES

( 10001, 1, 'СК01', 1294.80, 'Комната 101', 'удовлетворительное' ),

( 10002, 3, 'СК03', 210.00, 'Комната 101', 'удовлетворительное' ),

( 10003, 4, 'HP Deskjet F2180', 475.35, 'Комната 101', 'хорошее' ),

( 10004, 7, 'ВМДО15', 35.00, 'Комната 101', 'подлежит списанию' ),

( 10005, 2, 'СПЧ03', 594.75, 'Палата №6', 'удовлетворительное' ),

( 10006, 3, 'СК02', 190.00, 'Палата №6', 'плохое' ),

( 10007, 5, 'VEF 101', 348.11, 'Палата №6', 'удовлетворительное' ),

( 10008, 6, 'S-90', 415.00, 'Палата №6', 'отличное' );

INSERT INTO люди ( hkey, hfam, hima, hotch, otdel ) VALUES

( 1, 'Петров', 'Пётр', 'Петрович', 'Аутсорсинг' ),

( 2, 'Пупкин', 'Василий', 'Алибабаевич', 'Маркетинг' );

INSERT INTO зависимости ( tov_id, hkey ) VALUES

( 10001, 1 ),

( 10002, 1 ),

( 10003, 1 ),

( 10004, 2 ),

( 10005, 1 ),

( 10006, 1 ),

( 10007, 1 ),

( 10008, 2 );

SELECT отчёт.tov_id, name, model, tov_count, cost, place, status, hfam, hima, hotch, otdel

FROM зависимости, люди, (SELECT tov_id, name, model, tov_count, cost, place, status

FROM товары JOIN (SELECT *

 FROM инфо JOIN количество

 USING (nomenkl_id)) AS данные USING (nomenkl_id)) AS отчёт

WHERE люди.hkey = зависимости.hkey

AND отчёт.tov_id = зависимости.tov_id;

Схема данных

Содержимое таблиц

Описание

НОМЕНКЛАТУРНЫЙ НОМЕР — постоянное цифровое, буквенное или буквенно-цифровое обозначение, присвоенное каждому наименованию материала, продукции, товара, под которым они внесены в номенклатурный перечень.

ИНВЕНТАРНЫЙ НОМЕР — номер для ведения аналитического учета, организации контроля за правильным использованием основных фондов; каждому инвентарному объекту присваивается соответствующий И.н., который закрепляется за объектом на все время его эксплуатации.

Отчёт