Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Атомарная Матрица


Автор: CIBRAIKER 12.10.2007, 14:55
Недавно прочитал, что БД Oracle имеет эту самую матрицу которая идентифицирует  каждую запись в БД, так вот, что это за зверь такой и что она собой конкретно представляет...

Автор: LSD 12.10.2007, 16:08
Чего? Какая матрица?

Может речь идет о ROWID.

Автор: Filatov NA 12.10.2007, 18:04
Цитата(LSD @ 12.10.2007,  14:08)
Чего? Какая матрица?

Может речь идет о ROWID.

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

Следовательно такую структуру можно расматривать с позиции матрицы. smile 

Автор: LSD 12.10.2007, 20:45
Цитата(Filatov NA @  12.10.2007,  19:04 Найти цитируемый пост)
Следовательно такую структуру можно расматривать с позиции матрицы.

... а так же батрицы, и детрицы smile 

Что тут должно быть строками а что столбцами?

Автор: Filatov NA 13.10.2007, 18:19
Ма́трица — математический объект, записываемый в виде прямоугольной таблицы чисел и допускающий алгебраические операции (сложение, вычитание, умножение и др.) между ним и другими подобными объектами. Правила выполнения операций над матрицами сделаны такими, чтобы было удобно записывать системы линейных уравнений. 

Не правдо ли очень похоже на таблицу?  

Делаем небольшой фокус с запросами из разных таблиц и унас.... О чудо!  Перед нами таблица:

Matrix( ROWID, Tablespace_name, File_name).  Вот и столбци матрицы.  Ну а со строками еще проще - это наборы конкретных данных:

1FC46D7BA,  Tech,    f:/ora92/oradata/tech01.dbf
1FC4567BA,   User,   f:/ora92/oradata/user03.dbf
6CB58AD8,    Tech,   f:/ora92/oradata/tech01.dbf

Чем не матрица? smile 

Автор: LSD 14.10.2007, 11:29
Сравнение слишком притянуто за уши.

Автор: Filatov NA 14.10.2007, 15:28
Согласен.
Но ведь работает.


P.S. Приятно было познакомиться, уважаемый модератор.  smile 

Автор: Petro123 15.10.2007, 07:30
Цитата

Чем не матрица?   

Не матрица, так как элементы матрицы должы быть однотипны
Срорее массив записей

Автор: LSD 15.10.2007, 16:56
Предлагаю закончить дискуссию, на тему матриц и подождать пока автор пояснит, что он имел в виду.


Цитата(Filatov NA @  14.10.2007,  16:28 Найти цитируемый пост)
Приятно было познакомиться, уважаемый модератор. 

Аналогично smile

Автор: CIBRAIKER 27.10.2007, 14:46
Цитата(LSD @  15.10.2007,  16:56 Найти цитируемый пост)
Предлагаю закончить дискуссию, на тему матриц и подождать пока автор пояснит, что он имел в виду.
ОГО понаписывали.   smile 
Зарание извеняюсь за долгое отсутствие. Дело вот в чем, читал недавно "Язык SQL и примитивные типы данных" - так вот там автор упоминает, цитирую: "Все объекты БД имеют уникальные имена, а БД Oracle, так же имеет такое понятие как атомарная матрица"
Ну вот я и думаю как это атомарная ?

Автор: Vas 1.11.2007, 16:48
Цитата

Все объекты БД имеют уникальные имена, а БД Oracle, так же имеет такое понятие как атомарная матрица (матрица!!!), однозначно идентифицирующая, каждую запись в БД! 

Видимо ROWID это и есть. 
Во еще нарыл!
Цитата

А вот самое интересное! "АТОМАРНАЯ МАТРИЦА"! (МАТРИЦА!!!smile))))! Теоретически, каждая запись в БД должна однозначно идентифицироваться! Такую возможность мы получаем в сервере Oracle с помощью информационной структуры ROWID. ROWID представляет из себя двухбайтовую величину, которая соответствует физическому положению любой строки в БД! ROWID имеет формат BBBBBBBB.RRRR.FFFF где:

    * BBBBBBBB - шеснадцатиричный номер блока в файле данных, в котором находится строка.
    * RRRR - шеснадцатиричный номер строки в блоке.
    * FFFF - файл в состав, которого входит это блок. 

Например, ROWID = 0000078F.0003.0002. Это значит, что строка находится во втором файле данных, в блоке номер 78F файла данных, и является четвертой строкой (счет, идет от 0000!) в блоке. При создании новой строки она сразу получает свой уникальный ROWID! И самый быстрый способ найти строку это указать ее ROWID! Хотя это не такая простая задачка!!! Это далеко не все про ROWID, тем не менее, для начала понимания уже достаточно! Так что в следующий раз займемся самым интересным, блоками Oracle. 


Автор: CIBRAIKER 13.11.2007, 13:53
Vas, О, благодарю, а сцылку мона откуда инфа, очень интересно.  smile

Автор: DimW 14.11.2007, 17:42
Цитата(CIBRAIKER @  13.11.2007,  13:53 Найти цитируемый пост)
а сцылку мона откуда инфа

http://www.firststeps.ru/sql/oracle/   шаг 21

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)