Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Apex Пьяный Лох Я за такое вот кастрировал бы, чтоб дебилов меньше рождалось. Вы когда-нибудь видели базы данных, в которых ВСЕ названия объектов написаны по русски и практически без сокращений??? Вы, судя по всему, даже не представляете, как в таком случае упрощается разработка и сопровождение системы... Соболезную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 10:52 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
> у меня на одной из баз макс. длина идентификатора - 70 символов > > У вас MSSQL? да > все правильно, другого выхода в mssql нет, поскольку нормального > неймспейса в mssql нет вам приходится страдать такой ерундой. в оракле > вы бы сделали пакет doc03070201, в который бы объединили все действия > этим типом. честно говоря, достаточно смутно представляю себе, что такое неймспейс. предполагаю - некая штука, позволяющая разбивать процедуры и проч. вроде как по модулям? в этом случае вызов процы был бы нечто вроде [doc03070201].[s0201_ClearCustomDutyDiff_act]? хотя бывают процы, которые работают одновременно с двумя типами документов, или для нескольких типов - их кидать в [общий] неймспейс? > Основной минус ограничения на длину идентификатора - оно мешает >вводить > конвенции именования объектов в БД. Скажем, если мы говорим, что для > таблицы XXX поле ПК должно называться XXX_ID, а индекс - XXX_PK_I, > максимально допустимая длина съезжает до 25 символов. Если мы говорим, > что развязка многие-ко-многим между А и Б должна называться LINK_A_B - > допустимая длина оказывается ограниченной двенадцатью (!) символами. И > т. д. вот такое имя FK позволяет сразу понять - что и куда, независимо от того, придерживались разработчики "сухаревской конвенции", или не придерживались (хотя скобки и запятие в именах мне не очень нравятся). FK_EORule_(SpecifType,FieldName)_StorageValue_(StorageLine,Name) -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 10:54 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Пьяный Лох Если Оракал такой убогий, что ниасилил русские буквы - ну так надо это признать, правда ведь, Йо? Или гордость не позволяет? Прескорбно то, что залетевший сюда случайно ПЛ теперь будет утверждать, что Oracle не умеет работать с русскими буквами. А все просто, чтобы именовать таблицу и /или колонку "русским именем" её нужно заключить в '', чтобы обратиться к ней, надо проделать тоже самое... Разработчики практически всегда об этом забывают... И меня кайне раздражает, что я должен писать в запросах, испавляя их ошибки, как всегда в аварийном порядке select .. from "вася пупкин", ну чем я виноват. Если хотите раскрыть суть объекта, используйте comment, все наглядно и просто... Возвращаясь к основной теме. Сравнивать TL/SQL и PL/SQL не кореектно, никто не сравнивает basic и c++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 11:01 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
locky честно говоря, достаточно смутно представляю себе, что такое неймспейс. предполагаю - некая штука, позволяющая разбивать процедуры и проч. вроде как по модулям? в этом случае вызов процы был бы нечто вроде [doc03070201].[s0201_ClearCustomDutyDiff_act]? хотя бывают процы, которые работают одновременно с двумя типами документов, или для нескольких типов - их кидать в [общий] неймспейс? Что такое библиотека, например dll Вы представляете? Ну это тоже самое. Разве для того, чтобы обратиться к разным файлам надо писать разные библиотеки? Ребята, ну не спорте, не знаете Oracle, лучше не позорьтесь... locky вот такое имя FK позволяет сразу понять - что и куда, независимо от того, придерживались разработчики "сухаревской конвенции", или не придерживались (хотя скобки и запятие в именах мне не очень нравятся). FK_EORule_(SpecifType,FieldName)_StorageValue_(StorageLine,Name) Вообще-то для того, чтобы определить кто куда ссылается, существует словать данных... И вылавливать по именам зависимости - не просто не верно, просто преступно, забыли переименовать, да мало ли что... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 11:06 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
авторРебята, ну не спорте, не знаете Oracle, лучше не позорьтесь... Ну так объясните незнающим людям как организовать эти самые неймспэйсы в оракле кроме как городить лишние схемы? Лично я с удовольствием вас послушаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 11:17 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Longsvano авторРебята, ну не спорте, не знаете Oracle, лучше не позорьтесь... Ну так объясните незнающим людям как организовать эти самые неймспэйсы в оракле кроме как городить лишние схемы? Лично я с удовольствием вас послушаю. Именно схемы, если речь идет об объектах базы данных, таких как таблицы, индексы, констрейнты. Посмотрите как это делает сам Oracle: схема SYS - одни объекты, схема SYSTEM - другие объекты, схема OUTLN - третьи. Разный физический смысл - разные служебные схемы. Если речь идет о процедурах, функциях, типах - для этого существуют пакеты (как модули в Паскале). У пакета есть интефейс (package spec) и реализация (package body), поддерживается перегрузка подпрограмм в пакете, инициализация пакета, сокрытие реализации (что-то типа protected method). По сути все что нужно, для поддержки парадигмы модульного программирования. Для эстэтов есть объекты с наследованием и прочими прелестями... Встерчный вопрос: а сколько у вас таблиц в одной схеме, раз вы уперлись в ограничение на длину имени? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 12:14 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
andy st Apex Пьяный Лох Я за такое вот кастрировал бы, чтоб дебилов меньше рождалось. Вы когда-нибудь видели базы данных, в которых ВСЕ названия объектов написаны по русски и практически без сокращений??? Вы, судя по всему, даже не представляете, как в таком случае упрощается разработка и сопровождение системы... Соболезную Не видел и видеть не хочу. Сопровождение облегчает грамотная декомпозиция системы, четкая модульная реализация, грамотно написаный код. А не название объектов в кириллической кодировке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 12:24 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
автортипах - для этого существуют пакеты Здорово. Вот и объявите мне объектный тип в пакете. авторподдерживается перегрузка подпрограмм в пакете Ага. Классная перегрузка. Только такое перегрузить не может почемуто: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. авторВстерчный вопрос: а сколько у вас таблиц в одной схеме, раз вы уперлись в ограничение на длину имени? Да разница то? Вам показали где-то выше наглядный пример, что ограничение на длину имен не дает единообразно именовать объекты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 12:30 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Apex Не видел и видеть не хочу. в этом и проблема.... ) походу уже в генах.... что-то на уровне мутации... ;-Р Apex Сопровождение облегчает грамотная декомпозиция системы, четкая модульная реализация, грамотно написаный код. А не название объектов в кириллической кодировке. А кто спорит по поводу декомпозиции, модульности и грамотности кода?? Просто в случает именования объектов по русски и с минимумом сокращений поиск нужных объектов (особенно когда их в системе десятки тысяч) самую малость упрощается хотя бы только тем, что не надо копаться в справочниках, описывающих сокращения и условные обозначения. Мне, например, уже довольно сложно придумать сокращение, чтобы как-то назвать отчет "Выполнение производственной программы в разразе участков и аггрегатов за выбранный интервал времени посуточно" . Точнее, придумывается... но как-то криво оно выглядит и вооще нечитабельно. И вооще становится нечитабельно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 12:45 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
alexey_tm wrote: > честно говоря, достаточно смутно представляю себе, что такое неймспейс. > предполагаю - некая штука, позволяющая разбивать процедуры и проч. вроде > как по модулям? в этом случае вызов процы был бы нечто вроде > [doc03070201].[s0201_ClearCustomDutyDiff_act]? > хотя бывают процы, которые работают одновременно с двумя типами > документов, или для нескольких типов - их кидать в [общий] неймспейс? > > Что такое библиотека, например dll Вы представляете? Ну это тоже самое. > Разве для того, чтобы обратиться к разным файлам надо писать разные > библиотеки? > Ребята, ну не спорте, не знаете Oracle, лучше не позорьтесь... Тогда обясните мне. Ладно, побъем по неймспейсам (чтобы это ни было). один - относится к документы с типов 0301, другой - с типом 0302. В каждом из неймспесов есть проца Header_mod. каков формат вызова процедуры для типа 0301, 0302? в моем случае нечто вроде exec doc0301_header_mod, exec doc0302_header_mod. > вот такое имя FK позволяет сразу понять - что и куда, независимо от > того, придерживались разработчики "сухаревской конвенции", или не > придерживались (хотя скобки и запятие в именах мне не очень нравятся). > FK_EORule_(SpecifType,FieldName)_StorageValue_(StorageLine,Name) > > Вообще-то для того, чтобы определить кто куда ссылается, существует > словать данных... > И вылавливать по именам зависимости - не просто не верно, просто > преступно, забыли переименовать, да мало ли что... у меня - не забудут, для этого есть соотв. скрипт, который занимается переименованием. А словарь данных... а-ха, очень удобно. при таком подходе действительно не нужны идентификаторы длиннее 30 символов. Обзовем таблицу T00000001, а по описанию в метаданных определим, что это у нас оказывается "Заголовок документа". Утрировано, но всё-таки. зы вы что, считаете, что я ручками такое имя FK вбил? не, автоматом переименовал. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 12:46 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
locky Тогда обясните мне. Ладно, побъем по неймспейсам (чтобы это ни было). один - относится к документы с типов 0301, другой - с типом 0302. В каждом из неймспесов есть проца Header_mod. каков формат вызова процедуры для типа 0301, 0302? в моем случае нечто вроде exec doc0301_header_mod, exec doc0302_header_mod. чую вам пора почитать что-то где разжевано что такое программа подпрограмма и т.п. у вас явно должно быть: exec documents_api.header_mod(0301) ; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:17 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Longsvano автортипах - для этого существуют пакеты Здорово. Вот и объявите мне объектный тип в пакете. Претензия не понятна. Объектные типы в пакетах обявлять нельзя, но обратного я и не утверждал. Longsvano авторподдерживается перегрузка подпрограмм в пакете Ага. Классная перегрузка. Только такое перегрузить не может почемуто: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Сначала сюда , потом вот сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:27 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Yo.!! wrote: > чую вам пора почитать что-то где разжевано что такое программа > подпрограмма и т.п. у вас явно должно быть: exec > documents_api.header_mod(0301) ; думаю, я это где-то уже читал (писал, юзал, применял - нужное подчеркнуть). но это - лирика. documents_api - это неймспейс? если да, то гуд. doc0301_header_mod и doc0302_Header_mod - имеют разный перечень входящих параметров, но - это тоже лирика, которую (возможно) оракал решает вполналета, пользуясь моим его (оракала) незнанием. просто вот хочу понять... в чем же эротическая разница между doc0301_header_mod и doc.0301_header_mod... неужели- в точке? -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:27 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Yo.!! locky Тогда обясните мне. Ладно, побъем по неймспейсам (чтобы это ни было). один - относится к документы с типов 0301, другой - с типом 0302. В каждом из неймспесов есть проца Header_mod. каков формат вызова процедуры для типа 0301, 0302? в моем случае нечто вроде exec doc0301_header_mod, exec doc0302_header_mod. чую вам пора почитать что-то где разжевано что такое программа подпрограмма и т.п. у вас явно должно быть: exec documents_api.header_mod(0301) ; т.е. получается разница вся в том что вместо подчеркивания пишется точка? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:27 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Yo.!!чую вам пора почитать что-то где разжевано что такое программа подпрограмма и т.п. у вас явно должно быть: exec documents_api.header_mod(0301) ; Да Вам не о том вроде. Есть таблицы Supplier, Addresses, SupplierAddresses В этом случае неплохо, когда FK именуются скажем как FK_Supplier_SupplierAddresses, FK_Addresses_SupplierAddresses ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:28 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
locky в моем случае нечто вроде exec doc0301_header_mod, exec doc0302_header_mod. Это вы че, на каждый документ по процедуре создаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:31 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Apex locky в моем случае нечто вроде exec doc0301_header_mod, exec doc0302_header_mod. Это вы че, на каждый документ по процедуре создаете? Ремарка в стороны: Между прочим PL/SQL не поддерживает шаблонного программирования (и слава богу, наверное, а ты индусы такое бы наворотили). Поэтому даже если функции делают что-то одинаковое но для разных типов - изволь городить кучу функций на каждый тип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:34 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
SergSuper Yo.!! locky Тогда обясните мне. Ладно, побъем по неймспейсам (чтобы это ни было). один - относится к документы с типов 0301, другой - с типом 0302. В каждом из неймспесов есть проца Header_mod. каков формат вызова процедуры для типа 0301, 0302? в моем случае нечто вроде exec doc0301_header_mod, exec doc0302_header_mod. чую вам пора почитать что-то где разжевано что такое программа подпрограмма и т.п. у вас явно должно быть: exec documents_api.header_mod(0301) ; т.е. получается разница вся в том что вместо подчеркивания пишется точка? :) Если для тебя разница между С и С++ только в том, что при обращении к методу класса ты пишешь точку, вместо подчеркивания - тогда да, только в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:36 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Longsvano Apex locky в моем случае нечто вроде exec doc0301_header_mod, exec doc0302_header_mod. Это вы че, на каждый документ по процедуре создаете? Ремарка в стороны: Между прочим PL/SQL не поддерживает шаблонного программирования (и слава богу, наверное, а ты индусы такое бы наворотили). Поэтому даже если функции делают что-то одинаковое но для разных типов - изволь городить кучу функций на каждый тип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:40 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
авторПретензия не понятна. Объектные типы в пакетах обявлять нельзя, но обратного я и не утверждал. Так и запишем: архитекторы оракла накосячили. Объект который явно можно определять на уровне пакета реализовали на уровне схемы. авторподдерживается перегрузка подпрограмм в пакете Запишем еще раз: перегрузка в PL/SQL - кастрированная. Чтобы ее подправить нужно приписывать префикс пакета или вставлять метки к анонимным блокам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:40 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
тут какой-то перец рассказывал о работе в турецкой фирме, он воевал с местными сотрудниками за именование таблиц и полей на нормальном английском языке а не на ихнем обезьяньем. 8) всегда лучше когда лучше. Имена по-русски это благо. Раньше этого не было т.к. трудно реализовать. Щас вроде все нормальные сервера поддерживают, кто не использует - руки не оттуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 14:12 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
1024 всегда лучше когда лучше. Имена по-русски это благо. Раньше этого не было т.к. трудно реализовать. Щас вроде все нормальные сервера поддерживают, кто не использует - руки не оттуда. Имена на русском не благо, а большой геморрой на заднице! Локальные поделки - это конечно хорошо, но когда с базой, разработанной такими вот умельцами (где именование идет на русском например), работают люди в любой другой, не русско-говорящей стране получается жопа! Кто-нибудь из Вас хоть раз задумывался об этом? Или как всегда, сперва сделаем, а потом будем думать и переделывать! Меня например бесит, когда приходится переключать раскладку клавиатуры несколько раз, чтобы написать простой запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 15:38 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
взял и всё по полочкам расставил. 8) абсолютное большинство баз это как раз "локальный поделки". А если уж у вас рокетсъенс то французу с их нетерпимостью англ.языка может быть влом читать анг.имена. Китаец может англ. совсем не знать. Обычно в таких случаях называют просто т1, т2, т3 и т.д. уважать надо себя а не эту бездушную железяку. Вы ещё файлам имена из восьми символов давайте, чтоп под досом можно было переписывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 15:46 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Пьяный ЛохВпервые слышу о том, что ErWin, а уж тем более SourceSafe - не работают (криво работают) с юникодом вааще и русской кодировкой в частности. SourceSafe я выкинул очень давно. ErWin-ом пришлось пользоваться подольше, и поэтому наблюдал его кривую работу с русскими буквами, причем вообще без всякой БД - только внутри себя, на уровне записал модель в файл - прочитал модель из файла. Точную версию не помню; если не ошибаюсь, major version - 4, build 381. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 15:56 |
|
||
|
PL/sql и T/sql
|
|||
|---|---|---|---|
|
#18+
Часто вижу у себя на работе, как такие "локальные поделки" начинают использовать во многих странах. Уродливые названия, типа T1..TN тоже не многим лучше. Меня удивляет, люди не читают похоже ничего, ведь существует большое количество документов, описывающие стандартное именование объектов, тем самым облегчая жизнь всем, начиная от разработчика и заканчивая пользователем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 15:57 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=33765229&tid=1553578]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 170ms |
| total: | 273ms |

| 0 / 0 |
