BG Development


  Reply to this topicStart new topicStart Poll

> MySQL - Две числа в една колона
miss
Публикувано на: 25-11-2018, 22:54
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 20
Регистриран на: 14.04.15



Имам форма, от която въвеждам стойност и я съхранявам в колона на базата данни валидацията ми е от тип "number". Записвам информацията в колона от тип double (напр. 4.5). Понякога обаче стойността във тази колона може да варира в някакви граници (напр. 4.5-4.9). Кой е най-удачният вариант да съхраня 2 числа разделени с тире и съответно във въвеждащата форма трябва ли да сменя валидацията на "text" примерно.

Благодаря!
PMEmail Poster
Top
ifnull
Публикувано на: 25-11-2018, 23:24
Quote Post



Име: Димитър
Група: Потребител
Ранг: Редовен член

Мнения: 511
Регистриран на: 10.07.09



Направи го с 2 колони
PMEmail Poster
Top
7bH5ypIdk9Ij
Публикувано на: 26-11-2018, 15:14
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 17
Регистриран на: 25.11.18



Аз не разбрах дали искаш да съхраниш 2 числа в double колона или какво.. но ако са две променливите в кода ти - най-добре 2 отделни колони в дб. едната може да я сложиш nullable ако може някой път да няма стойност,
PMEmail Poster
Top
makka89
Публикувано на: 26-11-2018, 18:51
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 237
Регистриран на: 22.11.16



Прочети за нормализация на бази данни.За да няма проблеми при релационната база трябва атрибутите и да са атомарни.Ако ще извличаш някакви справки свързани със аритметични действия с "text" надали ,ще получиш желания резултат.
PMEmail Poster
Top
rvc
Публикувано на: 30-11-2018, 00:14
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2541
Регистриран на: 13.05.11



QUOTE (makka89 @ 26-11-2018, 18:51)
Прочети за нормализация на бази данни.За да няма проблеми при релационната база трябва атрибутите и да са атомарни.Ако ще извличаш някакви справки свързани със аритметични действия с "text" надали ,ще получиш желания резултат.

две числа и text колона?

защо не varchar(??) като ?? е някакво число по-малко от 10 примерно за да не лапаме твърде много памет за едно поле.
PMEmail PosterUsers Website
Top
wqw
Публикувано на: 30-11-2018, 09:09
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 5905
Регистриран на: 10.06.04



QUOTE (rvc @ 30-11-2018, 00:14)
две числа и text колона?

защо не varchar(??) като ?? е някакво число по-малко от 10 примерно за да не лапаме твърде много памет за едно поле.

VARCHAR(1000) колоните не лапат по 1000 знака, а точно толкова колкото е съдържанието им + 2 байта за size.

CHAR(1000) колоните вече наистина лапат по 1000 знака, но никой с малко акъл няма да тръгне да ги ползва (те са obsolete от десетилетия)

cheers,
</wqw>

Това мнение е било редактирано от wqw на 30-11-2018, 09:10


--------------------
PMEmail PosterUsers Website
Top
johnfound
Публикувано на: 30-11-2018, 11:14
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 6889
Регистриран на: 27.05.04



QUOTE (miss @ 25-11-2018, 23:54)
Имам форма, от която въвеждам стойност и я съхранявам в колона на базата данни валидацията ми е от тип "number". Записвам информацията в колона от тип double (напр. 4.5). Понякога обаче стойността във тази колона може да варира в някакви граници (напр. 4.5-4.9). Кой е най-удачният вариант да съхраня 2 числа разделени с тире и съответно във въвеждащата форма трябва ли да сменя валидацията на "text" примерно.

Благодаря!

В случая е очевидно, че трябват две колони: "val_from" и "val_to"; В случаите, когато се въвеждат две числа, разделени с тире, едното отива в "val_from" другото във "val_to".

Ако е въведено едно единствено чисто, то се записва и в двете колони.


--------------------
asm32 - Приложно програмиране на асемблер.
Tox: 2B446ADCEC7E180CD4C59391D81D4CAB3E99CA7AE767DB3AB45AF976F8A2050FF071DDB733F1
PMEmail PosterUsers Website
Top
ldbl
Публикувано на: 30-11-2018, 13:11
Quote Post



Име: Станислав Неделчев
Група: Потребител
Ранг: Редовен член

Мнения: 301
Регистриран на: 22.09.07



QUOTE (rvc @ 30-11-2018, 00:14)
QUOTE (makka89 @ 26-11-2018, 18:51)
Прочети за нормализация на бази данни.За да няма проблеми при релационната база трябва атрибутите и да са атомарни.Ако ще извличаш някакви справки свързани със аритметични действия с "text" надали ,ще получиш желания резултат.

две числа и text колона?

защо не varchar(??) като ?? е някакво число по-малко от 10 примерно за да не лапаме твърде много памет за едно поле.

Нямам идея как може да дадеш такъв съвет явно си пропуснал нацяло темета за релационни бази данни. Ама иначе да бухни ги двете числа в една колона varchar или направо text за по лесно.
Има няколко верни отговора в темата.


--------------------
PMEmail PosterUsers WebsiteICQ
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2018 | BG Development | All Rights Reserved
RSS 2.0