Logo    
Деловая газета CitCity.ru citforum.ck.ua - все об Open Source Форумы Все публикации Учебный центр Курилка
CitForum    CITForum на CD    Подписка на новости портала Море(!) аналитической информации! :: citforum.ck.ua
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Tuesday, 03-Jun-2008 09:55:38 EEST

Google
WWW citforum.ck.ua
2008 г.

Задача проектирования базы данных методом нормализации

Умаров Амантур Амангельдыевич, администратор баз данных,
фирма АББА (Республика Казахстан, г. Туркестан)

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

Введение.

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

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

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

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

Постановка задачи.

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

  1. Какие товары продает фирма, какова их цена, описание, и т.д.
  2. По выбранным товарам оформляются заказы. Кто (покупатели), когда и совершили заказ и какова общая сумма заказа?

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


Рис 1. Начальная схема отношений

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

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

Как нам известно, в теории реляционных баз данных существует пять нормальных форм [2]:

  • первая нормальная форма (1 NF);
  • вторая нормальная форма (2 NF);
  • третья нормальная форма (3 NF);
  • четвертая нормальная форма (4 NF);
  • пятая нормальная форма (5 NF).

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

Процесс проектирования.
1-ый шаг: 1 NF → 2 NF

Из схемы организации работы фирмы на рис. 1 определим схему отношений:

ТОВАРЫ-ЗАКАЗЫ

ТОВАРЫ {товарНом, товарНазв, товарОпис, товарРис, товарЦена, колНаСкладе, типНом, типНазв}

ЗАКАЗЫ {заказНом, заказДата, ПокупНом, ФИОПокуп, ЭлпочтаПокуп, адресПокуп, товарНом, количТовЗаказа, видДост, ценаДост, налогНДС, общСумма, заказСост}

В атрибутах «типНом» и «типНазв» содержится информация о типах товаров, например, название типа — Процессоры (типНом = 1), к которому относятся конкретные товары - Intel 386, Intel 486, AMD, и т.д. Атрибут «колНаСкладе» содержит общее количество товаров с данным номером на складе.

В одном заказе может заказываться несколько товаров с разными номерами. Атрибут «количТовЗаказа» содержит количество товаров данного типа, заказанных в данном заказе.

В атрибутах «ПокупНом», «ФИОПокуп», «ЭлпочтаПокуп», «адресПокуп» содержится информация о покупателе — номер, ФИО, Электронная почта и адрес.

В атрибутах «видДост», «ценаДост» хранится информация о доставке — номер, вид и цена доставки. Атрибут «заказСост» содержит состояние заказа, который может быть иметь значение «Сделка совершена» либо «Сделка выполнена неполно».

Для вычисления общей суммы заказа применяем формулу

общСумма = ТоварЦена*количТов + налогНДС + ценаДост.

На 1-м шаге проектирования форма 1NF приводится к виду 2NF. Для этого проверяем следующее определение:

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

Рассмотрим отношение ЗАКАЗЫ. В этом отношении существует неполная функциональная зависимость от первичного ключа, поскольку все атрибуты, кроме товарНом и количТовЗаказа, зависят от ЗаказНом, а первичным ключом является заказНом, товарНом. И поэтому мы приводим отношение ко второй нормальной форме то есть, производим декомпозицию отношения ЗАКАЗЫ в два отношения ТИП ЗАКАЗА и ЗАКАЗЫ:

ТИП ЗАКАЗА {заказНом, товарНом, количТовЗаказа}

Первичный ключ:
заказНом, товарНом
Функциональные зависимости:
заказНом, товарНом → количТовЗаказа

ЗАКАЗЫ {заказНом, заказДата, ФИОПокуп, ЭлпочтаПокуп, адресПокуп, видДост, ценаДост, налогНДС, общСумма, заказСост}

Первичный ключ:
заказНом
Функциональные зависимости:
заказНом → заказДата
заказНом → ФИОПокуп
заказНом → ЭлпочтаПокуп
заказНом → адресПокуп
заказНом → видДост
заказНом → ценаДост
заказНом → налогНДС
заказНом → общСумма
заказНом → заказСост

Рассмотрим отношение ТОВАРЫ. В этом отношении первичным ключом является атрибут «товарНом», и оно уже находится во второй нормальной форме.

ТОВАРЫ {товарНом, типНом, товарНазв, товарОпис, товарЦена, товарРис, типНазв, колНаскладе}

Первичный ключ:
товарНом
Функциональные зависимости:
товарНом → типНом
товарНазв
товарНом → товарОпис
товарНом → товарЦена
товарНом → товарРис
товарНом → колНаСкладе
типНом → типНазв


Рис. 2. Схема отношений в виде 1NF

2-ой шаг: 2 NF → 3 NF

На 2-м шаге проектирования форма 2NF приводится к виду 3NF. Для этого проверяется следующее определение:

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

При проверке на транзитивность определяется существования зависимостей R.X → R.Z и R.Z → R.Y и отсутствие зависимости R.Z → R.X. То есть при отсутствии последнего требования мы имели бы «неинтересные транзитивные зависимости» в любом отношении, обладающем несколькими ключами.

Имея в виду выше рассмотренные ФЗ отношения ТОВАРЫ, где атрибут типНазв напрямую не зависит от первичного ключа товарНом, а непосредственно зависит от его составного атрибута типНом, мы заключаем, что здесь имеется транзитивная ФЗ товарНом → типНом → типНазв. Другими словами, название типа товара на самом деле является характеристикой не товара, а типа товара, к которому он относится. В результате сказанного, мы приводим отношение Товары к третьей нормальной форме.

Теперь можно произвести декомпозицию отношения ТОВАРЫ в два отношения ТИП ТОВАРА и ТОВАРЫ:

ТИП ТОВАРА {типНом, типНазв}

Первичный ключ:
типНом
Функциональные зависимости:
типНом → типНазв

ТОВАРЫ {товарНом, тип_Ном, товарНазв, товарОпис, товарЦена, товарРис, колНаСкладе}

Первичный ключ:
товарНом
Функциональные зависимости:
товарНом → типНом
товарНазв
товарНом → товарОпис
товарНом → товарЦена
товарНом → товарРис
товарНом → колНаСкладе

В результате из одного отношения (таблицы) ТОВАРЫ получается два отношения (две таблицы) ТИП ТОВАРА и ТОВАРЫ.

Отношение ТОВАРЫ разделяется на отношения — ТИП ТОВАРА и ТОВАРЫ, где ТИП ТОВАРА — основная таблица, а ТОВАРЫ — подчиненная таблица.

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


Рис 3. Схема отношений в виде 3NF

Техническое решение

Приложение базы данных было выполнена в среде Access 2003. Определив все взаимосвязи между отношениями, получим окончательную схему данных (структуру данных):

Рис 4. Схема данных БД

Из схемы видно, что между отношениями существуют связи:

  • «Тип товара» и «Товары» имеют связь 1:∞
  • «Товары» и «Тип заказа» имеют связь 1:∞
  • «Тип заказа» и «Заказы» имеют связь 1:∞

Типы данных для каждого отношения приведены в следующих таблицах:

а) для отношения «Тип товара»

б) для отношения «Товары»

в) для отношения «Типы заказа»

г) для отношения «Заказы»

Литература

  1. Сергей Кузнецов. Тенденции в мире систем управления базами данных. www.citforum.ck.ua
  2. С. Д. Кузнецов. Основы современных баз данных.

 

\

Подписка на новости IT-портала citforum.ck.ua
(библиотека, citforum.ck.ua, CitCity)

Новые публикации:

28 мая

citforum.ck.ua:

  • Еще о SmoothWall и немного идеологии (В. Попов)
  • Linux в школе: дистрибутивы пилотного проекта (С. Голубев)
  • Новые Блогометки:

  • Frets on Fire: игра на гитаре с клавиатуры
  • GNU Units: преобразование величин между различными шкалами
  • QEMU: простой и быстрый эмулятор процессора
  • Проверка контрольных сумм, закачка клипов с youtube и менеджер Grub для редактирования меню
  • GConf-cleaner - знакомая игрушка для эмигрантов
  • Wbar - заманчивый dockbar. И никакого compiz'a!
  • BluePad - GNOME-марионетка под управлением телефон
  • 21 мая

    citforum.ck.ua:

  • Методические рекомендации к использованию Линукса в учебном компьютерном кабинете школы
  • Все Linux'ы под одной крышей (репортаж с семинара R-Style)
  • Новые Блогометки:

  • Заливаем музыку на плеер
  • Накопительный вклад в "прокачку" системы
  • GMail + оповещение о приходе корреспонденции
  • code2html - публикация кода или гармония содержания и формы
  • GTK клиенты для MPD
  • Zimbra. Первые впечатления
  • Ubuntu. Как установить mysql-server без exim4
  • Ubuntu и GPRS
  • 14 мая

    CitCity:

  • Интервью с Дональдом Кнутом (Перевод: С. Кузнецов)
  • citforum.ck.ua:

  • Linux в школе: подготовка к миграции (С. Голубев)
  • О Microsoft Windows, Линуксе и бесплатном сыре. Профессор Выбегалло наносит ответный удар
  • Дело Ханса Рейзера. Версия Uncle_Theodore
  • Новые Блогометки:

  • MOC: музыка в консоли - музыкальный проигрыватель, основанный на ncurses
  • Hugin: создавайте потрясающие панорамы из ваших фотографий
  • HTTP сервер в одну строку: версия 2.0
  • HTTP сервер размером в 222 байта
  • hint [9] swiss army knife
  • 6 мая

    citforum.ck.ua:

  • Linux в школе: в чем же выгода? (С. Голубев)
  • Дело Ханса Рейзера
  • 28 апреля

  • Возможности эффективного использования языка SQL без нарушения основных принципов реляционной модели данных
  • Материалы конференции "Корпоративные базы данных-2008" (тезисы докладов и презентации)
  • CitCity:

  • Очередной снэпшот технологии баз данных (С. Кузнецов)
  • citforum.ck.ua:

  • Linux в школе: мифы про школу и информатику (С. Голубев)
  • "Крикливое меньшинство" мешает распространению открытого ПО
  • 22 апреля

  • Один из подходов к организации объектной системы на основе реляционной СУБД
  • Обзор журнала Computer:

  • Тинэйджеры и музыкальная коммерция
  • citforum.ck.ua:

  • Диски, разделы, буквы... (В. Попов)
  • Новые Блогометки:

  • ingimp: повышение удобства интерфейса GIMP на основании статистики использования
  • Screen-message: используйте экран для передачи сообщений
  • knetworkmanager: победа над кошмарами WiFi-WLan-WEP-WPA
  • revelation: менеджер паролей Gnome
  • 17 апреля

    citforum.ck.ua:

  • Изучаем Linux:
    • Подготовка к миграции
    • Критерии выбора
    • Дистрибутив ALTLinux
    • ASPLinux
    • Debian
    • Linux XP Desktop
    • Mandriva
    • MOPSLinux
    • openSUSE
    • Ubuntu

    CitCity:

  • Рынок BI-платформ. Мнение аналитиков
  • Требования к инструментам интеграции данных
  • Матрица. Эволюция (технология цифровой фотографии)
  • 10 апреля

  • Принципы организации иерархии атомарных литеральных типов объектной системы на основе РСУБД Microsoft SQL Server 2005
  • citforum.ck.ua:

  • Експресс полярный, он же - "галантный медведь"
  • Новые Блогометки:

  • Liquidsoap: гибкий клиент потокового аудиовещания для сервера Icecast и многое другое…
  • KRename: мощное средство переименования
  • apt-listbugs: узнавайте о критических ошибках перед каждой установкой с APT
  • Несколько слов о ГИС...
  • OpenOffice и все-все-все...
  • Цифровые фотографии. Наводим порядок
  • Фотоальбомы
  • 2 апреля

  • NULL, трехзначная логика и неопределенность в SQL: критика критики Дейта
  • Критика критики критики Дейта
  • Сервис-ориентированный подход в бизнес-аналитике от Oracle
  • Хранение данных на клиенте. DOM Storage и его аналоги
  • citforum.ck.ua:

  • Conky - системный монитор
  • Звук в Linux
  • Linux swap space
  • Описание пакетов KDE
  • 27 марта

    Обзоры журнала Computer:

  • Мечты Дэвида Харела
  • О вреде избыточного питания компьютеров
  • SOA: просто для большинства, сложно для меньшинства
  • CitCity:

  • 12 дюймов и меньше - а стоит ли "овчинка" выделки?
  • Сравнение электронных автомобильных карт и автонавигаторов
  • BI-технологии, что нас ждет в ближайшие годы
  • citforum.ck.ua:

  • И снова Старый Оскол: второй семинар по свободному софту
  • Новые Блогометки:

  • Xdiskusage: где место?!
  • TTF-Inconsolata: открытый шрифт для вашего терминала и красивых распечаток кода
  • Jed: карманный EMACS
  • Ipcalc: полезная информация об IP и маске сети
  • IPTraf: монитор локальной сети с интерфейсом ncurses
  • Burgerspace: свободный клон классической аркады «Burgertime»
  • 19 марта

  • Технология проектирования модели предприятия на основе универсальной модели данных
  • CitCity:

  • Гимн героям Microsoft
  • citforum.ck.ua:

  • Колонки Алексея Федорчука из журнала Linuxformat
  • Завершение цикла Сергея Голубева "Linux для начинающих":
    • Работа в сети
    • Пользовательские приложения

    Новые Блогометки:

  • И вечный бой... со шрифтами
  • Введение в API для карт Google
  • Conky: хорошо настраиваемый системный монитор для X
  • Newsbeuter: чтение RSS из консоли
  • Katapult: ускоренный и упрощенный доступ к приложениям, закладкам и файлам
  • GPRename: пакетное переименование с интерфейсом GTK2-Perl
  • Duplicity: шифрованное и экономное для трафика резервное копирование на основе алгоритма rsync
  • Listadmin: консольное управление очередью модерации Mailman
  • 12 марта

  • Восход и закат High Performance Fortran: наглядный урок истории (пересказ: С.Кузнецов)
  • citforum.ck.ua:

    Новые Блогометки:

  • Ccze: хорошее модульное средство подсветки логов
  • PWSafe - кроссплатформенное средство для работы с паролями
  • colordiff - подсветка для diff
  • psmisc: рассмотрим ближе стандартный пакет
  • Работа с сетью
  • xkb, узелок на память
  • ffmpeg-php
  • debiannotes:desktop:prettyfonts
  • 5 марта

    citforum.ck.ua:

  • Ричард Столлман в Москве
  • О мудром доценте замолвите слово... (Интенсификация Малаховна)
  • Новые Блогометки:

  • "Десктопизация" OpenBSD
  • weather: проверяйте сводку и прогноз погоды из командной строки
  • hpodder: клиент подкастов, который просто работает
  • bc: язык численных расчетов с произвольной точностью
  • Decibel: аудиоплеер для людей
  • GNU Wget: загрузите весь понравившийся сетевой контент на локальный компьютер
  • Deborphan: найдите ненужные пакеты
  • Kivio: мощный и простой в использовании редактор блок-схем
  • Cowsay: настраиваемая говорящая и думающая корова
  • Thoggen: основанная на GTK+ программа для извлечения видео с DVD
  • 28 февраля

  • Подбор и развитие команд
    Глава из книги «Руководство командой разработчиков программного обеспечения. Прикладные мысли» (С.Архипенков)
  • citforum.ck.ua:

    Дискуссия об анонимусах:

  • К комментаторам
  • Windows против Linux - психологический портрет участников форумов
  • Новые Блогометки:

  • Nokia N810 - Linux Inside
  • LiMo - стандарты Linux для сотовых телефонов
  • timer-applet: таймер для панели GNOME
  • Debfoster: удалите пакет и все его зависимости
  • GPW: генератор произносимых паролей
  • AMOR: общество для рабочего стола
  • 20 февраля

    citforum.ck.ua:

    Новые Блогометки:

  • Кое-что о приложениях KDE 4
  • Инструкция по установке KDE 4 в Ubuntu
  • Настоящие мужчины ставят KDE из SVN!
  • Начат переход Amarok на Qt 4.4
  • Marble
  • Dillo - сверхбыстрый браузер
  • Создаем резервные копии настроек программ и важных файлов в Ubuntu LInux
  • NTP: всегда вовремя
  • VYM - простое средство зарисовки мыслей и планирования
  • KBibTeX: простой и гибкий редактор библиографий для KDE
  • Дискуссия Windows vs Linux:

  • Жил-был Мальчик, или Сказочка о Том, Откуда Берутся "КУЛХАЦКЕРЫ", ненавидящие Линукс и Юникс
  • 13 февраля

  • Терминологический словарь Wi-Fi
  • Задача проектирования базы данных методом нормализации
  • CitCity:

  • Лучшие смартфоны начала 2008 года
  • citforum.ck.ua:

  • Первый взгляд на Firefox 3.0
  • Open Source на Белгородщине: семинар в Старом Осколе
  • Что такое KDE?
  • Цикл о Slackware:

  • Русский в консоли
  • Быстрая настройка Иксов
  • xorgconfig - консольный подход
  • 6 февраля

    citforum.ck.ua:

  • Мобильный Linux – вчера, сегодня, завтра
  • Чем записать диски в Linux? Попробуй Brasero!
  • Консольные команды
  • Рецепты. Кое-что о программе mplayer
  • Slackware:
    • Что такое Slackware?
    • Установка Slackware - Загрузка
    • Категории программного обеспечения
    • Структура файловой системы
    • Система инициализации Slackware Linux
    • Скрипты инициализации уровня запуска

    30 января

  • Обзор алгоритмов MOLAP
  • CitCity:

  • BI-технологии 2007. Итоги года
  • Рынок СУБД для Хранилищ данных 2007. Итоги года, тенденции
  • Обзор рынка BI (по результатам исследований IDC, OLAP Report, Gartner)
  • Модель зрелости BI
  • citforum.ck.ua:

  • Владимир Попов: За что я люблю Linux
  • Священные войны
  • 23 января

  • Data Mining от Oracle: настоящее и будущее
  • Комментарии к статье Ч.Бергера «Data Mining от Oracle: настоящее и будущее»
  • Байесовский классификатор и регрессионная модель в ORTD: практический пример
  • citforum.ck.ua:

    Дискуссия Windows vs Linux:

  • Программисты и фирмы: кто кого
  • О "чистых пользователях"
  • Новые Блогометки:

    • Почему Jabber, а не ICQ?
    • Archlinux install quick
    • Arch на IBM Z60m
    • Arch + IBM R50e
    • OpenBSD - сборка E17-cvs (или ещe одна маленькая победа разума)
    • OpenBSD - всe для Человека и ради Человека...
    • PekWM
    • E17 и "прозрачность"
    • E17 - приятные мелочи (multimedia)
    • SuSE + Enlightenment = угробил целый день

    16 января

  • Вьетнам компьютерной науки (пересказ - С.Кузнецов)
  • Пример построения автоматизированного управления дисками (ASM) (В. Пржиялковский)
  • CitCity:

  • 2008 год: антипрогноз
  • citforum.ck.ua:

    Новые Блогометки:

    Сети и Интернет:

    • Mozilla firefox. Шрифты в меню
    • Screen tips
    • Liferea: программа чтения RSS для GNOME
    • HTTrack: скачивание и зеркалирование сайтов
    • Clusterssh: работа с несколькими сеансами SSH через общий интерфейс

    Десктопы:

    • Fluxbox & xinitrc. Some new tips
    • Как я конфигурировал xdm

    Системы:

    • SuSE 10.2: zypper - еще один способ установки пакетов
    • cpipe: определите пропускную способность конвейера команд
    • gddrescue: средство восстановления данных с поврежденных носителей
    • VirtualBox: ваш виртуальный ПК

    Приложения:

    • MyTop: top для MySQL

    10 января

    citforum.ck.ua:

    Дискуссионный клуб:

  • Краткое руководство по общению с никсофилами (Интенсификация Малаховна Сергина-Гейтс)
  • О троллях
  • Пещера горного короля: заметки о троллинге
  • Новые Блогометки:

    Сети и Интернет:

    • Делаем блог на Drupal
    • Использование lftp
    • Устанавливаем FTP сервер ProFTPd с TLS шифрованием
    • Управляем файлами на FTP сервере с помощью FileZilla

    Десктопы:

    • fluxbox.autorun
    • 15 человек на сундук мертвеца! (или песнь о зарытых сокровищах)

    Системы:

    • Живой Debian или рабочее место в кармане
    • Разбивка hdd

    Приложения:

    • Cat Excel files
    • Vim: меню выбора кодировок

    26 декабря

    citforum.ck.ua:

  • В Блогометках открыты разделы:
    • Софт для Windows
    • Сети и Интернет
  • dwm. От статики к динамике
  • Установил Solaris
  • Новая Дискуссия:
    • Нужен ли русский Linux?

    19 декабря

  • SQL Anywhere: встраиваемая СУБД
  • citforum.ck.ua:

  • В разделе Блогометки появились рубрики:
    • Десктопы
    • Приложения
    • Системы
  • Подробно о разделе: Блоги и блогометки: открываем сезон промывки
  • 13 декабря

    CitCity:

  • Microsoft и Барселона: сюрреализм?
  • citforum.ck.ua:

  • Открыт новый раздел Блогометки
  • ZFS в подробностях. 1. Былое и ныне
  • 5 декабря

  • Архитектура предприятия: основные определения
  • Архитектуры для государственных ведомств. Примеры
  • Обзор журнала Computer:

  • Высокопроизводительные встроенные системы
  • citforum.ck.ua:

  • Продолжение цикла Linux для начинающих:
    • Пользовательские интерфейсы
    • Файлы
    • Системы настройки

    Все публикации >>>




IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей Пресс-релизы -
Послать комментарий
Информация для авторов
Rambler's Top100 This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2007 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...