0 / 0 / 0
Регистрация: 12.02.2012
Сообщений: 45
|
||||||
1 | ||||||
Как правильно обработать отсутствие данных?01.07.2016, 13:17. Показов 662. Ответов 7
Метки нет (Все метки)
помогите пожалуйста начинающему мне есть вот такой вот скриптик написанный мною.
0
|
01.07.2016, 13:17 | |
Ответы с готовыми решениями:
7
Как обработать отсутствие элемента в Selenium? Правильно обработать поток данных Как правильно обработать сообщение? Как обработать правильно время |
1643 / 1144 / 171
Регистрация: 23.07.2010
Сообщений: 6,794
|
|
01.07.2016, 13:33 | 2 |
(P.ID_School=@SID or @SID is NULL)
как вариант
0
|
1 / 1 / 1
Регистрация: 30.01.2013
Сообщений: 18
|
|
01.07.2016, 15:44 | 3 |
Нормальный у вас скрипт.
Очень не рекомендую использовать курсоры без крайней необходимости (они очень медленные, но есть задачи с которыми только они справляются) про массивы уже давно забыл , использую таблицы или склеиваю строку через разделитель. собственно Null - это тоже наличие данных (тот кто сдает может нигде и не учится - не числится , вариантов куча , можно привязать конкретное место где сдавал и т.д. ) мне тоже на вскидку только такой вариант приходит: вы кстати в ID используете GUID ? (если нет , то рекомендую использовать , очень упрощает жизнь ,ведь данных может быть очень много и контролировать уникальность очень не просто)
0
|
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
|
|
01.07.2016, 16:08 | 4 |
Даже интересно стало - как GUID помогает контролировать уникальность данных, когда этих данных много?
А много - это сколько?
0
|
1643 / 1144 / 171
Регистрация: 23.07.2010
Сообщений: 6,794
|
|
01.07.2016, 16:09 | 5 |
0
|
1 / 1 / 1
Регистрация: 30.01.2013
Сообщений: 18
|
|
04.07.2016, 07:36 | 6 |
Про GUID много написано уже ,
может конечно он занимает больше места и теоретически медленнее работает(у меня все нормально работает) ,но по крайней мере GUID уникальный (вероятность его совпадения крайне мала в пределах одной машины) . Вот другой вопрос что под уникальными ключами могут быть одинаковые записи(дубли) например неправильно занесенные данные , но БД от этого не поплохеет. Мне например удобно выстраивать связь многие ко многим, что бы не плодить кучу таблиц со связями , я использую одну, в ней (GUID,GUID_Object1,GUID_Object2)- здесь только PK , две последние колонки подразумевают FK , но не связаны так как объектами могут быть строки в разных таблицах. Я не навязываю его использовать ,а все го лишь высказываю свое видение , а использовать его вам или нет это ваше дело и выбор (в маленьких БД может лучше и простой id (int ) использовать или вообще строчку ключом сделать ). А какие вы ключи используете в своих таблицах? , поделитесь, будет полезно знать PS. у меня объем примерно такой : несколько сотен таблиц и в каждой от 2-x до нескольких миллионов записей , в среднем по несколько тысяч на таблицу.
0
|
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
|
|
04.07.2016, 11:59 | 7 |
Уникальность гарантируется ограничением уникальности или уникальным индексом и никак не зависит от типа столбца.
Про ссылочную целостность не будем, т.к., скорее всего, аргумент "мне так удобно" перешибет любые конраргументы?
А что получится, если некий Obect1 может соотносится с несколькими Object2? GUID разумно использовать в качестве ключа, когда в одной БД консолидируются данные из внешних источников. Хороший пример - merge репликация. В остальных случаях у него нет никаких преимуществ над числовыми ключами.
0
|
1 / 1 / 1
Регистрация: 30.01.2013
Сообщений: 18
|
|
05.07.2016, 15:57 | 8 |
У каждого своя правда )
Я вас прекрасно понимаю. На это и рассчитано , бывает еще похлеще Object-ов не ограничено , но есть некоторые правила, нельзя вот так просто взять и связать два объекта , это все регламентируется.Я когда пришел на работу мне связки (GUID,GUID_Object1,GUID_Object2)без ключей (связи контролируются только триггерами и умами создателей) казались дикостью и мой мозг взрывался, и я всячески пытался уговорить использовать реальные внешние ключи , но так как у нас БД уже давно вышла за рамки реляционной, то естественно я уже ни на что не мог повлиять) После перехода на GUID теперь вообще не представляю как без него обходится. Ну как бы в таблицах первичные ключи у меня естественно индексы уникальные (просто по дефолту я не высчитываю ключ или не использую автоинкримент, у меня там newid() )
0
|
05.07.2016, 15:57 | |
05.07.2016, 15:57 | |
Помогаю со студенческими работами здесь
8
Как правильно обработать ошибку? Как правильно обработать исключение? Как правильно обработать массив? Как правильно обработать onTouchListener Как правильно обработать столкновения? Как правильно обработать исключение ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |