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

       

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

Интерфейс ODBC (Open Database Connectivity) был разработан фирмой Microsoft как открытый интерфейс доступа к базам данных. Он предоставляет унифицированные средства взаимодействия прикладной программы, называемой клиентом (или приложением-клиентом), с сервером - базой данных.
В основу интерфейса ODBC были положены спецификация CLI-интерфейса (Call-Level Interface), разработанная X/Open, и ISO/IEC для API баз данных, а также язык SQL (Structured Query Language) как стандарт языка доступа к базам данных.
Интерфейс ODBC проектировался для поддержки максимальной интероперабельности приложений, которая обеспечивает унифицированный доступ любого приложения, использующего ODBC, к различным источникам данных. Так, если приложение, соответствующее стандарту ODBC и SQL, первоначально разрабатывалось для работы с базой данных Microsoft Access, а затем таблицы этой базы были перенесены в базу данных Microsoft SQL Server или базу данных Oracle, то приложение сможет и дальше обрабатывать эти данные без внесения дополнительных изменений.

Основа ODBC
Основные функции ODBC
Схема доступа к источнику данных с использованием ODBC API
Схема извлечения данных с использованием ODBC API
Параметры SQL-оператора

Курсоры
Реализация блочной выборки строк
Создание именованного курсора
Объектная модель OLE DB

Библиотека MFC
Классы, используемые для доступа к БД
Механизмы доступа к БД
Работа с базами данных
Создание сервлета, используемого для публикации данных


Три манифеста баз данных ретроспектива и перспективы

В период с 1989 по 1995 гг. авторские группы, включающие известных специалистов в области баз данных, подготовили и опубликовали три документа [1-3], которые отражали точки зрения авторов относительно перспектив развития технологии баз данных. С легкой руки авторов хронологически первого документа эти документы получили название манифестов, что, в общем-то, отражало их суть: в каждом из документов провозглашался набор идей и требований, на которых, по мнению авторов, должны были базироваться системы баз данных следующего поколения.
Интересно отметить различия между коллективами авторов каждого из манифестов. “Манифест систем объектно-ориентированных баз данных” [1] (далее в этой статье для краткости мы будем называть его Первым манифестом) написан академическими исследователями; почти все они являются профессорами различных университетов. Конечно, это нашло свое отражение в стиле Первого манифеста – очень мягком и умеренно рекомендательном (хотя по своему духу предложения этого манифеста были весьма радикальными).

Введение
Первый манифест
Манифест систем баз данных следующего поколения и его последствия
Третий манифест: назад к реляционному будущему

Введение в системы управления базами данных

Основное назначение данного учебного пособия - дать систематическое введение в основы реляционной модели данных и принципы функционирования реляционных баз данных.
Реляционная модель описывает, какие данные могут храниться в реляционных базах данных, а также способы манипулирования такими данными. В упрощенном виде основная идея реляционной модели состоит в том, что данные должны храниться в таблицах и только в таблицах. Эта, кажущаяся тривиальной, идея оказывается вовсе не простой при рассмотрении вопроса, а что, собственно, представляет собой таблица? В данный момент существуем много различных систем обработки данных, оперирующих понятием "таблица", например, всем известные, электронные таблицы, таблицы текстового редактора MS Word, и т.п. Ячейки электронной таблицы могут хранить разнотипные данные, например, числа, строки текста, формулы, ссылающиеся на другие ячейки. Собственно, на одном листе электронной таблицы можно разместить несколько совершенно независимых таблиц, если под таблицей понимать прямоугольную область, расчерченную на клеточки и заполненную данными.

Множества
Нормальные формы более высоких порядков

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

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

Цели оптимизации

Основы проектирования реляционных баз данных

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

Архитектура СУБД

Раздел - Бухгалтерия 1С

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


1С 7.7
1С 8.0
1С 7.7 Документация
1С 7.7. Конфигурирование

1С Торговля. Руководство
1С Программирование на v7
Программирование в 1С 7.7
1Cv8 - Основные объекты
Описание языка системы 1С

1С Бухгалтерия 7.7 Ведение учета
1С 8.0. Встроенный язык
1С Режим Конфигуратор
1С Предприятие. Документация
1С Бухгалтерия 7.7 Ведение учета

1С 8.0. Программирование
1С 7.7. Конфигурация
1С Франчайзи, версия 3.0
1С Предприятие 7.7. Торговля
1С 8.0. Разработчику
1С Битрикс
1С Рарус
Автоматизация в 1С Франчайзи
1С 7.7. Бухгалтерия+Торговля
1С 8.0. Пособие разработчика

1С Режим Конфигуратор
1С для гос. ведомств
1С Торговля. Руководство
1С Предприятие. Редактор форм
1С 7.7 Типы данных

Конфигурирование 1Cv8
1С Планирование сетей
Описание языка системы 1С
Оборудование и технологии
DND. Инструкция по работе

Учебник по 1С
1С Предприятие 8.0
1C Торговля. Описание
Автоматизация в 1С 8.0
Разработка в 1С 8.0

Основы операционной системы UNIX

Этот краткий (предположительно, 16 часов, из которых 6 - практические занятия) вводный курс предназначен для ознакомления с архитектурой, особенностями и основными средствами ОС UNIX. При успешном освоении, курс позволит свободно и продуктивно работать в ОС UNIX в качестве пользователя и продолжить изучение администрирования или программирования этой операционной системы.
Изложение ведется, в основном, без привязки к особенностям какой-либо версии UNIX, но при необходимости конкретизации, она делается для систем SVR4, в частности, ОС Solaris 8.
В последней версии (1.2, 11 марта 2004 года) обновлена хронология основных событий в истории ОС UNIX.

Современные версии ОС UNIX

BASH Programming - Введение

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


Терминология ... лазеры на максимум ... огонь!
Местоположение документа и обратная связь
Шрифты TrueType
Настройка кеширующего сервера имен
Нужен ли Вам Linux?
Что такое Emacs?
Упражнения
Поддерживаемые архитектуры
Агент транспортировки почты (MTA)
Введение в Linux
Ядро с фильтрацией пакетов
Поддержка списка рассылки
Как мне подсоединиться к остальному миру?
Одно слово о стиле
О RLDP

Сетевое железо - статьи

Всем кому когда-либо доводилось слушать музыку или радио через Интернет знакома ситуация при которой из-за падения скорости передачи опустошается буфер и воспроизведение начинает "заикаться". Это происходит даже не смотря на то, что пользователю как правило предлагается на выбор несколько потоков, закодированных с разными битрейтами.
Дело в том, что мы не можем гарантировать, что определенный пакет, пройдя через десяток маршрутизаторов дойдет до нас в нужное время. А для воспроизведения фрейма в классических схемах (mp3, ogg и т.д.) необходимо получить его целиком. В данной статье обсуждается система для прогрессивной передачи аудио через Интернет, которая будет лишена указанного недостатка.
Прогрессивность при этом нужно понимать как свойство закодированного фрейма, при котором первые биты будут нести наиболее важную для восприятия информацию, а последующие - лишь незначительные, уточняющие детали. В таком случае, первых битов будет достаточно для воспроизведения всего фрейма целиком, правда в немного худшем качестве.
Другими словами, при падении скорости передачи вместо остановки воспроизведения будет ухудшаться его качество. Если затем скорость повысится, то и качество воспроизведения возрастет. Иначе говоря, такая система будет адаптироваться к пропускной способности канала в реальном времени.

Цифровой звук
Преодолеваем ограничения
Сетевые операционные системы
Коммутаторы Fast/Gigabit Ethernet
Triple Play: игра со многими неизвестными
Переводя мобильные потоки
Коммунальный UTP

VDSL2 - "удлинитель оптики"
Витая пара: десять гигабит под прицелом
Интернет-телефония: выбираем безопасное решение
Сервисы VoIP: куда движется рынок
Виртуальный туннель на базе Linux
Развертывание распределённых беспроводных сетей
Волшебная палочка для Wi-Fi: антенны
Терминологический словарь Wi-Fi

Выбор и настройка Wi-Fi оборудования в домашних условиях
Wi-Fi MIMO
Wi-Fi для офисного ПК
Wi-Fi: а был ли бум
Беспроводное завтра
Мобильный WiMAX: реалии и перспективы
Особенности беспроводного строительства
Уже не Wi-Fi, но еще не WiMAX
Регуляторы трафика

Спецификация HTML 4.01

Этот раздел описывает статус данного документа на время публикации. Другие документы могут заменять этот документ. Современное состояние документов этой серии поддерживается на W3C.
Этот документ специфицирует HTML 4.01, являющийся частью спецификации линии HTML 4.

Первой версией HTML 4 был HTML 4.0 [HTML40], опубликованный 18 декабря 1997 и пересмотренный 24 апреля 1998.
Эта спецификация является первыми рекомендациями по HTML 4.01. Она включает дополнительные изменения после версии HTML 4.0 от 24 апреля.
Внесены некоторые изменения в DTD/ОТД. Этот документ объявляет предыдущую версию HTML 4.0 устаревшей, хотя W3C оставляет её спецификацию и ОТД доступными на сайте W3C.
Этот документ был рассмотрен членами W3C и других заинтересованных сторон и утверждён Директором как Рекомендации W3C. Это неизменяемый документ, он может использоваться как справочный материал или цитироваться в других документах. Задачей W3C является привлечение внимания к Рекомендациям и этой спецификации и её широкое распространение. Это расширит функциональные возможности Web.
W3C рекомендует создание пользовательскими агентами (ПА) и авторами (в частности, утилитами разработки) документов HTML 4.01, а не HTML 4.0.
W3C рекомендует создавать документы HTML 4 вместо документов HTML 3.2. Из соображений обратной совместимости, W3C также рекомендует, чтобы утилиты, интерпретирующие HTML 4, продолжали поддерживать HTML 3.2 и HTML 2.0.
За информацией о следующем поколении HTML, "The Extensible HyperText Markup Language" [XHTML], обращайтесь на W3C HTML Activity и к списку W3C Technical Reports.
Этот документ создан как часть W3C HTML Activity.
Цели Рабочей Группы HTML (Только для членов) обсуждаются в Хартии Рабочей Группы HTML (Только для членов).


О спецификации HTML 4
Введение в HTML 4
Таблицы стилей
Якоря с атрибутом
Выравнивание, стили шрифта и горизонтальные линии
Изменения в спецификации
Файл robots.txt

Защита сайтов

Минута соединения вашего компьютера с Internet - это минута, когда безопасность ваших данных подвергается риску. Даже наиболее безопасные системы, которые находятся под контролем наиболее образованных и способных, с большим опытом, системных администраторов, с использованием самого современного и проверенного програмного обеспечения, постоянно находятся в опасности, каждый день. Как было доказано Кевином Митником (Kevin Mitnick) при взломе San Diego Supercomputer Center в 1994 году, даже самые "закаленные" защиты, написанные ветеранами подобно Tsutomu Shimamura можно, обойти.

Борьба с утечками ресурсов и переполняющимися буферами
Переполнение буфера на системах с неисполняемым стеком
Обфускация и ее преодоление
Идеографический барьер

Delphi - сборник статей

Разве возможно совместить Флэш-ролики и Дельфи-приложения. Раньше я думал что НЕТ. Но теперь я знаю не только, что это возможно, но и знаю как это делается!!! И сейчас я вам расскажу об этом. Во-первых хочется отметить преимущества использования флэш-роликов в ваших программах. Если вы сумеете гармонично вписать небольшой флэш-ролик в вашу программу, то несомненно внешний вид программы будет намного привлекательнее (главное не переборщить, увлекаясь дизайном, не надо забывать о том что программа должна быть удобна и проста в использовании! ).
Итак, как же совместить Флэш и Дельфи? (Надеюсь, что у вас Флэш установлен:))
Запустите Дельфи и выберите пункт меню Component->Import ActiveX Control... Перед вами откроется диалоговое окно с заголовком Import ActiveX Control. В разделе Registered Controls выберите Shockwave Flash. В разделе Pallete Page... Выберите страницу в палитре компонентов, на которой будет располагаться установленный компонент (по умолчанию это ActiveX). В разделе Unit Dir Name... путь к папке куда будет установлен компонент.

Эксперимент
Язык описания математических формул
База данных без BDE
Эксперты в Delphi, или Программист, упростите себе жизнь
Немного теории

Разработка приложений для Lotus Notes/Domino в среде Borland Delphi
Процедуры и функции для работы с OpenOffice
Упрощаем работу с потоками (TStream)

Архитектура Microsoft Windows для разработчиков

Это официальное учебное пособие рекомендовано корпорацией Microsoft для подготовки к экзаменам по программе сертификации разработчиков решений на базе продуктов Microsoft (Microsoft Certified Solution Developer, MCSD). Курс адресован разработчикам программного обеспечения и системным администраторам, а также всем, кто готовится к сдаче экзаменов по программе сертификации Microsoft. Здесь подробно рассмотрена архитектура операционных систем семейства Windows и различные аспекты разработки приложений для этих ОС, включая создание клиент-серверных и Web-приложений.

Об этой курсе
Операционные системы Windows и их архитектура
Концепции построения сетей
Создание решений с использованием Microsoft BackOffice

Разработка приложений
Архитектура компонентных решений
Базы данных: принципы построения
Базы данных: интерфейсы для разработчиков
Технологии ActiveX
Реализация клиентских решений

Реализация серверных решений
Дополнительные интерфейсы
Пользовательский интерфейс
Методики разработки и управления проектами
Словарь терминов

Клиентский JavaScript. Справочник

JavaScript это созданный корпорацией Netscape межплатформенный объектно-ориентированный язык скриптинга (сценариев) для клиентских и серверных приложений. Этот справочник является справочным пособием по языку JavaScript, включая ядро и клиентский JavaScript.

Об этом справочнике
Объекты, методы и свойства (часть 1)
Checked
Form
Length

Netscape
Описание
Static-свойство объекта Math
Метод anchor
Метод setHotKeys
Параметры

Примеры
Записывается значение свойства
Два способа установки года
Prototype
Конструктор Function
Target
Свойства и функции верхнего уровня

Обработчики событий
Событие KeyDown
Операторы
Операции
Java-классы, конструкторы и методы
Приложения

Регулярные выражения Perl и их применение

Если на компьютере у читателя еще не установлена система программирования Perl, то самое время это сделать. Дистрибутив Perl под Windows можно скачать с сайта. Это все дается бесплатно. Поставка осуществляется в дистрибутиве MSI (MicroSoft Installer). Вы можете запустить его, найдя этот файл через "Мой компьютер" и дважды щелкнув на нем. Также можно использовать инсталлятор msiexec.exe, находящийся в подкаталоге system32 каталога Windows. Если запустить его без параметров, он в окне выдаст справку на русском языке.
Регулярные выражения обычно используются как операнды операторов поиска m/…/ и замены s/…/…/. Слово регулярные означает "составленные по правилам". То, что стоит вместо многоточия в операторе m и вместо первого многоточия в операторе s, - это и есть регулярное выражение. Буква m означает match (соответствие), а буква s означает search (поиск).

Общее знакомство с регулярными выражениями
Текущая позиция поиска
Комментарии в регулярных выражениях
Модификаторы операторов m// и s///
Поиск отдельных слов

Предотвращение зацикливания при поиске и замене
Интерполяция переменных и кода в строку
Преобразование ftp и http ссылок в теги HTML
Встроенный код и оптимизация регулярных выражений
Оператор qr/…/

Концепция динамической видимости переменных
Примеры применения динамических регулярных выражений
Компиляция и кэширование регулярных выражений
Оператор split

Самоучитель по введению в экспертные системы

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

Обзор исследований в области искусственного интеллекта
Ассоциативные сети и системы фреймов
Приобретение знаний
Решение проблем конструирования (II)
Сети доверия
Средства формирования пояснений
Введение в ЭС

Основы работы в Dreamweaver

Программа Dreamweaver создавалась с учетом стремительного развития сетевых технологий и, в то же время, многие разработчики не поспевали за столь бурным развитием технологических новшеств. HTML, редактирование изображений и каскадные таблицы стилей — это одно, а объектные модели документа, циклы с оператором for, относительные данные, объединение массивов, наборы записей, файлы cookie и методы — это совсем иное. Карьера веб-дизайнеров, во многом, определяется их способностью совершить переход от статичного HTML к полноценным динамическим веб-приложениям, — что, разумеется, подразумевает знание хотя бы некоторых из указанных технологий.
Именно это является причиной создания этого курса. После выполнения предложенных в курсе практических упражнений вы приобретете уверенные навыки работы с тремя наиболее популярными сегодня языками разработки приложений: Microsoft ASP (VBScript), Macromedia ColdFusion Markup Language (CFML) и открытым языком PHP. Помимо этого, в курсе приведена информация о разработке баз данных, написании SQL-запросов, каскадных таблицах стилей, новом стандарте XHTML и о многом другом.
В основе курса лежит нестандартный подход, при котором в достаточной мере применяется как ручное кодирование, дающее наиболее ценные навыки программирования на этих языках, так и другие средства, в частности, управление серверами при помощи диалоговых окон и использование готовых объектов Dreamweaver, ускоряющих разработку приложений. Цель курса заключается не просто в обучении способам создания динамических приложений, но и в том, чтобы дать глубокое понимание механизмов их работы, даже если сервер управляется посредством графического интерфейса.

Регистрация статичного сайта
Почтовый сервис SMTP
Подготовка страницы поиска и создание ссылки для поиска без фильтрации

Самоучитель по Adobe After Effect 6

В любой сцене важную роль играет освещение. С помощью освещения можно передать характер сцены, выделить ключевые объекты, создать интересный эффект в анимации. Не следует пренебрегать тщательной работой по созданию и настройке освещения, поскольку даже умело выполненная сцена с точно подобранными материалами и сложной анимацией может поблекнуть, если освещению не было уделено достаточно внимания. Возможна и обратная ситуация, когда хорошее освещение «облагораживает» всю сцену, скрадывая отдельные недостатки. Разумнее всего, конечно, тратить равные усилия на всех этапах работы с 3D моделированием.
Подбор освещения может отличаться для случаев визуализации неподвижной картинки или анимированной сцены. В первом случае обычно используется любое количество разнообразных источников освещения, требуемых для достижения нужного эффекта. При световой обработке анимированной сцены рекомендуется использовать минимальное количество источников, достаточных для передачи визуальной информации. Это связано с тем, что при создании освещения имеет большое значение взаимное расположение освещаемого объекта и источника освещения. Но даже самая аккуратная и трудоемкая работа по подбору и расстановке источников может привести к непредсказуемым результатам при изменении положения объекта, особенно в сложных сценах

Освещение
Материалы и текстурные карты
Камеры

Дополнительные объекты сцены
Визуализация