Язык запросов SQL



   Factoringconcurrent | игры на реальные деньги    рюкзак опт |   Мачеха любит инцест pornozam.com       отели сиде

Язык запросов SQL

Добро пожаловать в область разработки баз данных, выполняемой с помощью стандартного языка запросов SQL. В системах управления базами данных (СУБД) имеется много инструментов, работающих на самых разных аппаратных платформах. Различия между этими инструментами могут быть очень существенными, но все они имеют одну общую черту — доступ к данным и их обработка выполняются с помощью SQL. Зная SQL, вы можете создавать реляционные базы данных и получать из них полезную информацию.
Системы управления базами данных играют жизненно важную роль во многих организациях. Люди часто думают, что создание и поддержание этих систем — очень сложное занятие, удел "жрецов" баз данных, которым открыта истина, недоступная простым смертным. Эта книга напрочь отметает мистику, связанную с базами данных.
Цель книги состоит в том, чтобы научить вас создавать реляционные базы данных и извлекать из них ценную информацию с помощью SQL — международного стандартного языка, используемого во всем мире для создания и поддержки реляционных баз данных. В пятом издании книги рассказывается о последней версии этого языка, SQL:2003.
В книге речь идет не о том, как проектировать базу данных, поскольку на эту тему написано много хороших книг. Предполагается, что уже существует подходящий проект базы. Здесь будет показано, как реализовать этот проект с помощью SQL. Если же у вас есть подозрение, что имеющийся проект не очень хорош, то исправьте его во что бы то ни стало, пока еще не начали создавать саму базу данных. Чем раньше вы обнаружите и исправите недостатки разработанного проекта, тем дешевле вам обойдутся те исправления, которые все-таки придется делать.
Если вам надо хранить данные в СУБД или получать их оттуда, то практическое знание SQL поможет вам делать свою работу намного лучше. Чтобы использовать SQL, не нужно быть программистом и знать программные языки, такие как COBOL, С или Basic. Синтаксис языка SQL основан на упрощенном синтаксисе английского.
А если вы все-таки программист, то сможете использовать SQL в своих программах. С его помощью у обычных языков программирования появляется мощный аппарат обработки данных. В настоящей книге рассказывается, что именно нужно знать, чтобы реализовать в своих программах богатый набор возможностей, предоставляемых SQL.

Введение
Основы реляционных баз данных
Основы SQL
Компоненты SQL
Создание и поддержка простой базы данных
Создание многотабличной реляционной базы данных
Манипуляции данными из базы
Определение значений
Сложные выражения со значением
Пристрелка к нужным данным
Реляционные операторы
Использование вложенных запросов
Рекурсивные запросы
Обеспечение безопасности базы данных
Защита данных
Использование SQL в приложениях
ODBC и JDBC
SQL 2003 и XML
Статьи

Unix Man (Справочное руководство)

Подробное описание команд операционной системы Unix. Все материалы представлены в алфавитном порядке.

A.OUT(5)
Функция abort работает так же, как системный вызов , но вместо просто выхода (завершения процесса) abort посылает сигнал SIGABRT (6) вызывающему процессу. Если сигнал SIGABRT не перехватывается и не игнорируется, то прежде, чем он будет послан, выталкиваются все буфера, связанные со стандартным пакетом ввода/вывода , и порождается файл с образом памяти.

A.OUT(5)
A.OUT(5) - 2
A.OUT(5)
A.OUT(5) - 2
A64L(3)
ABORT(3C)
ABS(3C)
ACCEPT(1M)
ACCESS(2)
ACCESS(3)

BACKUP(1)
Команда backup копирует все файлы, измененные после определенной даты в date параметра filesystem. Параметр key задает дату и другие опции резервной копии backup и состоит из символов следующего множества 0123456789kfusd. Значения этих символов описаны ниже:

BACKUP(1)
BACKUP(1) - 2
BACKUP(8)
BACKUP(8) - 2
BADTRK(8)
BADTRK(8) - 2
BADTRK(8) - 3
BANNER(1)
SH(1)
BCOPY(1M)

HYPOT(3M)
Если к переполнению приводит попытка представления корректного результирующего значения, то функция hypot возвращает значение HUGE [см. ], а внешней переменной errno присваивается значение ERANGE. Изложенная процедура обработки ошибок может быть изменена посредством функции

HYPOT(3M)
HYPOT(3M)
CAL(1)
CALENDAR(1)
MALLOC(3C)
CANCEL(1)
CAPINFO(1)
CAPTOINFO(1M)
CAPTOINFO(1M) - 2
CAT(1)

CURSES(3X)
Забыть информацию о том, какие части окна изменились (эта информация используется для оптимизации вывода). Считать, что все окно требует перерисовки. Это часто бывает необходимо для пересекающихся окон, так как изменение одних окон вызывает изменение и других, но информация об этих изменениях в структурах данных других окон не отражается. Обращение к touchline говорит о том, что изменилось count строк окна, начиная со строки с номером start.

CURSES(3X) - 1
CURSES(3X) - 2
CURSES(3X) - 3
CURSES(3X) - 4
CURSES(3X) - 5
CURSES(3X) - 6
CURSES(3X) - 7
CURSES(3X) - 8
CURSES(3X) - 9
CURSES(3X) - 10

DAEMON.MN(7)
При вызове демон создает много копий самого себя, по одной копии для каждой последовательной строки, используемой в сети. Каждая копия открывает последовательную строку, создает начальное сообщение для файла LOG и ждет ответа от демона на другом конце. Начальное сообщение выдает имена устройств, которые следует подсоединить, последовательную строку, которую надо использовать, и текущую дату и время. Если демон получает правильный ответ, он вырабатывает последовательную связь и добавляет к файлу LOG сообщение "первое подтверждение связи завершено". Если ответа нет, то демон безразлично ждет.

DAEMON.MN(7)
DAEMON.MN(7)
DATE(1)
DBM(3)
DBM(3) - 2
Dbminit, fetch, store, delete, firstkey, nextkey
DBM(3)
DBM(3) - 2
Dbminit, fetch, store, delete, firstkey, nextkey
Dbminit, fetch, store, delete, firstkey, nextkey

ECHO(1)
Команда echo выдает на стандартный вывод свои аргументы, разделяя их пробелами и выдавая в конце символ перевода строки. Кроме того, поддерживаются следующие C-подобные соглашения о задании управляющих символов (не забывайте об особой трактовке shell'ом символа \):

ECHO(1)
ECVT(3C)
ED(1)
ED(1) - 2
ED(1) - 3
ED(1) - 4
ED(1) - 5
ED(1) - 6
ED(1) - 7
ED(1) - 8

GETPWENT(3C)
При первом вызове функция getpwent возвращает указатель на первую структуру типа passwd в файле; при следующем вызове возвращается указатель на следующую структуру; поэтому последовательные вызовы функции можно использовать для просмотра всего файла. Функция getpwuid ищет с начала файла строку, содержащую заданный идентификатор пользователя uid, и возвращает указатель на структуру, соответствующую искомой строке. Функция getpwnam ищет с начала файла строку, содержащую специфицированное входное имя name и возвращает указатель на соответствующую структуру. В случае неудачного поиска (в том числе из за ошибки чтения) описанные функции возвращают пустой указатель NULL.

GETPWENT(3C)
FLOOR(3M)
FLOOR(3M)
FACTOR(1)
FALSE(1)
FCLOSE(3S)
FCNTL(2)
FCNTL(2) - 2
FCNTL(2) - 3
FCNTL(5)

GAMMA(3M)
При неотрицательных аргументах функция gamma возвращает значение HUGE [см. ], а внешней переменной errno присваивается значение EDOM. В стандартный протокол будет выдано сообщение о попадании в точку сингулярности. Если представление корректного результирующего значения приводит к переполнению, то функция gamma возвращает значение HUGE, а переменной errno присваивается значение ERANGE.

GAMMA(3M)
GAMMA(3M)
ECVT(3C)
GDEV(1G)
GED(1G)
GED(1G) - 2
GED(1G) - 3
GED(1G) - 4
GED(1G) - 5
GET(1)

H2PH(1)
h2ph переводит указанный файл заголовков C в файл заголовков формата Perl. Если аргумент не указан, то файл читается со стандартного ввода и пишется на стандартный вывод.

H2PH(1)
HALTSYS(ADM)
HASHCHECK(1)
HASHMAKE(1)
HSEARCH(3C)
HSEARCH(3C) - 2
HD(1)
HD(HW)
HD(HW) - 2
HD(HW) - 3

ID(1)
Команда id выдает на стандартный вывод сообщение, содержащее идентификатор пользователя, идентификатор группы и соответствующие текстовые имена для текущего процесса. Если действующий и реальный идентификаторы различны, выдаются оба.

ID(1)
IDLEOUT(8)
IMACCT(1)
IMAGEN(7)
IMAGEN(7) - 2
IMPRINT(1)
Man pages на русском
Man pages на русском - 2
Man pages на русском - 3
INFOCMP(1M)

BESSEL(3M)
Функции j0 и j1 возвращают значения функций Бесселя первого рода, порядка 0 и 1 соответственно, для заданного аргумента x. Функция jn возвращает значение функции Бесселя первого рода, порядка n для заданного аргумента x.
Функции y0 и y1 возвращают значения функций Бесселя второго рода (или, иначе, функций Неймана), порядка 0 и 1, соответственно для заданного аргумента x. Функция yn возвращает значение функции Бесселя второго рода, порядка n для заданного аргумента x. Значение x должно быть положительным.

BESSEL(3M)
BESSEL(3M)
BESSEL(3M)
JOIN(1)
DRAND48(3C)
DRAND48(3C) - 2

KBMODE(ADM)
Эта команда может быть использована для определения того, поддерживает ли ваша клавиатура режим AT. Если да, то эта утилита может осуществлять переключение между режимами AT и XT. Если задан аргумент file, то он должен представлять собой tty-устройство одного из экранов, связанных с этой клавиатурой.

KBMODE(ADM)
KCLT_CREATE
KEYBOARD(HW)
KEYBOARD(HW) - 2
KEYBOARD(HW) - 3
KEYBOARD(HW) - 4
KEYBOARD(HW) - 5
KEYBOARD(HW) - 6
KEYBOARD(HW) - 7
KILL(1)

L3TOL(3C)
Функция l3tol преобразует список из n трехбайтных целых, упакованных в цепочку символов, в список длинных целых чисел. Указателем на цепочку является аргумент cp, на список длинных целых - lp.
Функция ltol3 осуществляет обратное преобразование из длинных целых (lp) в трехбайтные целые числа (cp). Описанные функции полезны при работе с файловой системой, поскольку номера блоков являются трехбайтными целыми числами.

L3TOL(3C)
A64L(3)
LABELIT(1M)
LAST(1)
LBP(1)
Lckclnt
DRAND48(3C)
DRAND48(3C) - 2
LD(1)
LD(1) - 2

M4(1)
Макропроцессор m4 предназначен для макрогенерации на предварительном проходе в языках RATFOR, C и других. Все файлы-аргументы обрабатываются по очереди. Если файлы не указаны, или в качестве имени файла задан -, то читается стандартный ввод. Обработанный текст записывается на стандартный вывод.

M4(1)
M4(1) - 2
M68K(1)
MACHID(1)
MACHINE(HW)
MAIL(1)
MAIL(1) - 2
MAIL(1) - 3
MAILX(1)
MAILX(1) - 2

NAP(3)
Ncheck без аргументов генерирует список полных имен и номеров индексных дескрипторов всех файлов в наборе файловых систем, заданных в /etc/mnttab. К именам файлов каталогов добавляются два символа "/.". Опция -i ограничивает выдачу только теми файлами, номера индексных дескрипторов которых перечисляются вслед за этой опцией. Опция -a разрешает выдачу имен . и .. , которые обычно подавляются. Опция -s ограничивает выдачу только специальными файлами и файлами с режимом проверки права доступа; она предназначается для обнаружения скрытых нарушений системы защиты. Вместо списка файловых систем, используемых по умолчанию, можно задать одну единственную файловую систему filesystem.

NAP(3)
WAITSEM(3)
Ncftp
Ncftp - 2
Ncftp - 3
Ncftp - 4
Ncftp - 5
NCHECK(8)
NCHECK(1M)
NETUTIL(8)

OD(1)
Интерпретировать байты как коды ASCII. Некоторые служебные символы выводятся по соглашениям, принятым в языке C: пусто=\0, забой=\b, переход_к_новой странице=\f, перевод_строки=\n, возврат_каретки=\r, табуляция=\t; все остальные выводятся как восьмеричные числа из 3 цифр.
Выдавать 16-разрядные слова в виде десятичных чисел без знака.
Выдавать 16-разрядные слова в восьмеричном виде.
Выдавать 16-разрядные слова в виде десятичных чисел со знаком.
Выдавать 16-разрядные слова в шестнадцатеричном виде.

OD(1)
IPR(1)
OPEN(2)
OPEN(2) - 2
DIRECTORY(3X)
DIRECTORY(3X) - 2

PACK(1)
Команда pack предпринимает попытку сохранить указанные файлы в сжатой форме, то есть упаковать информацию. Когда только возможно (и имеет смысл), каждый входной файл заменяется упакованным вариантом с именем файл.z, который имеет тот же режим доступа, те же даты доступа и модификации, того же владельца. Опция -f вызывает принудительную упаковку файла. Она используется для того, чтобы упаковать весь каталог, даже если для некоторых файлов это невыгодно. Если команда выполняется успешно, то исходный файл удаляется. Упакованные файлы могут быть преобразованы в свою первоначальную форму с помощью команд или .

PACK(1)
PAGESIZE(1)
PARALLEL(HW)
Passmgmt
Passmgmt - 2
PASSWD(4)
PASSWD(1)
PASTE(1)
PAUSE(2)
PCAT(1)

QSORT(3C)
Процедура qsort реализует алгоритм быстрой сортировки таблицы данных на своем месте. Аргумент base является указателем на начало таблицы. Nel - число элементов в таблице. Compar - функция сравнения, аргументами которой при вызове служат два указателя на сравниваемые элементы. В соответствии с тем, какое целое число она возвращает: меньшее нуля, равное нулю или большее нуля, первый аргумент считается меньшим, равным или большим по отношению ко второму.

QSORT(3C)
QUOT(1)

RAMDISK(HW)
Драйвер устройства ramdisk обеспечивает блочный интерфейс к памяти. ramdisk можно использовать как и любое другое блочное устройство, включая установку файловых систем с помощью mkfs(8). Существует восемь типов доступных псевдодисков.
Характеристики файла ramdisk определяются малым числом устройства. Биты этого числа содержат информацию о размере устройства, его долговечности и номере одного из восьми псевдодисков.

RAMDISK(HW)
RAMDISK(HW) - 2
RAMDISK(HW) - 3
RAND(3C)
RANDOM(1)
RANLIB(1)
RATFOR(1)
RC0(1M)
RC2(1M)
RCMD(1)

SACT(1)
Команда sact выдает информацию о невыполненных командах delta для указанного SCCS-файла. Такая ситуация возникает, если для файла была сделана команда get -e без последующего выполнения delta. Если указано имя каталога, sact обрабатывает все файлы в этом каталоге, начинающиеся с s.; файлы, к которым нет доступа на чтение, игнорируются без дополнительных сообщений. Если указано имя -, происходит чтение со стандартного ввода; каждая строка при этом трактуется как имя SCCS-файла, подлежащего обработке.

SACT(1)
SAG(1G)
SAR(1)
SAR(1M)
SAR(1M) - 2
SAVETO(1M)
SCANF(3S)
SCANF(3S) - 2
SCC(1)
SCCSDIFF(1)

STDIPC(3C)
Все средства обмена между процессами требуют от пользователя передачи ключа системным вызовам , и , предоставляющим идентификаторы очередей сообщений. Один из предлагаемых способов формирования ключа - использование описываемой ниже функции ftok. Другой путь составления ключей - поместить идентификатор проекта в старший байт и использовать оставшуюся часть как порядковый номер. Есть много других способов формирования ключей, но для каждой системы необходимо определить стандарт на их формирование. Если стандарт не соблюдается, то возможно, что не связанные между собой процессы будут непреднамеренно конфликтовать. Следует настоятельно рекомендовать помещать в старший байт ключа символ, каким-либо образом идентифицирующий проект; тогда ключи не будут пересекаться в пределах данной системы.

STDIPC(3C)
STIME(2)
DBM(3)
DBM(3) - 2
STRACE(1M)
STRING(3C)
STRING(3C)
STRCLEAN(1M)
STRING(3C)
STRING(3C)

TABS(1)
Посредством команды tabs устанавливают позиции табуляции пользовательского терминала в соответствии с заданной разметкой. Предыдущие установки отменяются. Терминал должен допускать переустановку позиций табуляции.

TABS(1)
TABS(1) - 2
TAIL(1)
TALK(1)
TRIG(3M)
TRIG(3M)
SINH(3M)
SINH(3M)
TAPE(HW)
TAPE(1)

U3B(1)
Система завершает работу. Все пользовательские процессы терминируются, буфера выталкиваются и корневая файловая система размонтируется. Последующие действия определяются значением аргумента fcn; на разных машинах выполняются разные действия в силу разных аппаратных возможностей. Самым разумным является перезапуск системы путем передачи управления программе загрузки, хранящейся в ПЗУ. A_REBOOT Система немедленно останавливается без каких-либо действий. Как и в предыдущем случае, дальнейшие действия определяются значением аргумента fcn. A_REMOUNT Корневая файловая система вновь монтируется после того, как она была зафиксирована. Это может быть сделано только в процессе загрузки.

U3B(1)
UADMIN(2)
UADMIN(1M)
ULIMIT(1)
MNT, UMNT
MNT, UMNT - 2
UMOUNT(2)
UMOUNT(8)
UNAME(2)
UNAME(1)

VAL(1)
Команда val определяет, является ли указанный файл SCCS-файлом с атрибутами, соответствующими указанным. Опции могут задаваться в любом порядке.
У команды val есть специальный аргумент, -, который приводит к чтению строк со стандартного ввода до тех пор, пока не встретится конец файла. Каждая строка при этом обрабатывается независимо, как командная строка с опциями и аргументами.

VAL(1)
VALUES(5)
VARARGS(3)
VARARGS(5)
PRINTF(3S)
PRINTF(3S) - 2
PRINTF(3S) - 3
VAX(1)
VC(1)
VC(1) - 2

W(1)
Команда 'w' печатает суммарную информацию об активности системы, включая данные о том, что делает каждый пользователь. Заглавная строка показывает текущее время дня, длительность работы системы, число пользователей, зарегистрированных в системе. В системах, которые обрабатывают необходимые данные, в заглавной строке также показывается средняя загрузка системы. Средняя загрузка представляет собой число процессов, находящихся в очереди на выполнение от 1,5 до 15 минут.

W(1)
WAIT(2)
WAIT(1)
WAITSEM(3)
WALL(8)
WALL(1M)
WC(1)
WHAT(1)
Apropos(1)
WHEREIS(1)

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

XARGS(1)
XARGS(1) - 2
XARGS(1) - 3
XLIST(3)
XREF(1)
XSTR(1)

BESSEL(3M)
Функции y0 и y1 возвращают значения функций Бесселя второго рода (или, иначе, функций Неймана), порядка 0 и 1, соответственно для заданного аргумента x. Функция yn возвращает значение функции Бесселя второго рода, порядка n для заданного аргумента x. Значение x должно быть положительным.

BESSEL(3M)
BESSEL(3M)
YACC(1)
YES(1)
BESSEL(3M)
YPCAT(1)
YPMATCH(1)
PASSWD(1)

COMPRESS()
Команда compress берет файл, заданный параметром file, и сжимает его до минимально возможного размера, создавая при этом выходной файл cо сжатыми данными и удаляя, если не задана опция -c, первоначальный файл. Сжатие достигается кодированием одинаковых строк в файле. Команда uncompress восстанавливает ранее сжатый файл в его первоначальное состояние и удаляет версию сжатого файла. Команда zcat используется для вывода файла на экран, при этом файл восстанавливается из сжатого состояния и производится его сцепление с экранным или стандартным выводом, после чего версия сжатого файла не уничтожается.

COMPRESS()
ZDIFF(1)
ZDIFF(1)
ZFORCE(1)
ZGREP(1)
ZIPGREP(1)

Приемы профессиональной работы в UNIX

Непрерывное снижение цен, рост производительности в наше время и ожидаемое появление новых микро- и супер-микрокомпьютеров делают мощь системы UNIX доступной для все большего круга пользователей. Системы UNIX или типа UNIX работают на любых машинах, от уровня PC-XT до AT и выше. Доступность больших объемов оперативной памяти и мощных микропроцессоров привела к возрастанию интереса к многозадачности, системам мультипроцессирования - сфере, в которой UNIX имеет солидную репутацию.
Однако применение UNIX с максимальной отдачей - дело нелегкое. Люди годами высказывали неудовлетворение тем, что она не является "дружественной" по отношению к пользователю - и это разумная критика, хотя на самом деле UNIX содержит средства для построения интерфейсов любого требуемого уровня сложности. Наиболее важная причина трудоемкости эффективного использования UNIX состоит в том, что в системе используются очень плодотворные идеи, не знакомые многим людям, работавшим с более простыми операционными системами. UNIX предоставляет также гораздо больше инструментальных средств, более гибких и с существенно большими возможностями, чем, например, популярная MS-DOS (в чем можно убедиться беглым сравнением соответствующих руководств). Вероятно, Вы, читатель, начинали с изучения UNIX в объеме, достаточном для решения конкретных задач в вашей системе, будь то текстовая обработка и форматирование текстов, программирование или запуск статистических пакетов. Через некоторое время вы, видимо, накопили (от других людей или в результате собственной работы) небольшой набор приемов, включающий, возможно, некоторый опыт простого программирования для интерпретатора командного процессора.

Введение
МНОГООБРАЗИЕ СРЕД
КОМБИНИРОВАНИЕ ПРОДУКТИВНЫХ ИДЕЙ
СОПРОВОЖДЕНИЕ ФАЙЛОВ
Программирование и управление документацией
УПРАВЛЕНИЕ ДЕЛОПРОИЗВОДСТВОМ
ОСВЕДОМЛЕННОСТЬ ПОЛЬЗОВАТЕЛЯ
СИСТЕМА UNIX И АППАРАТУРА
ФИЗИЧЕСКОЕ ПОДКЛЮЧЕНИЕ
ЗАЧЕМ НАМ ИЗУЧАТЬ АДМИНИСТРИРОВАНИЕ
Способы преобразования
ПЕРЕМЕННЫЕ СРЕДЫ ВЫПОЛНЕНИЯ


SQLсервер в Linux -самостоятельное освоение пакета
Операционная система QNX 4. Архитектура системы
Что такое Linux?
Основы Slackware Linux. Официальный учебник
Linux HOWTO
Linux для пользователя
Основы работы в ОС Linux
Как стать активным сторонником Linux
Linux mini-HOWTO
Руководство администратора Linux по безопасности
Ядро Linux в комментариях
Самоучитель по Linux Red Hat 7.1
Настройка и работа в Linux
С++ для начинающих
Литтон Джози - Верь В Меня
Ремонт и восстановление жестких дисков
F.A.Q. по ремонту и обслуживанию
Unigraphics. Справочник по проектированию деталей из листового металла
Литвиновы Анна И Сергей - Ледяное Сердце Не Болит
Ливадный Андрей - Естественный Отбор