Тусламж:Хуудас яаж засварлах вэ?: Засвар хоорондын ялгаа

Content deleted Content added
б 202.9.41.247 (яриа)-н хийсэн засваруудыг Boldbdd-ий хийсэн сүүлийн засварт буцаан шилжүүллээ.
No edit summary
Мөр 1: Мөр 1:
                   Кассандра CQL Төрөл 
{{Template:Тусламж}}
[[Википедиа]] нь чөлөөт агуулгатай, бидний сайн дурын оролцоотойгоор баяжих нэвтэрхий толь юм. Та энэ нэвтэрхий толины нэг зохиогч нь болж болно.
:''Энэ хуудас нь Танд, Википедиа нэвтэрхий толины өгүүллийг засварлах, шинэ өгүүллэг оруулахад хэрэг болох мэдээллийг өгнө.''


= Кассандра- CQL Өгөгдөл =
==Оршил==
CQL нь цуглуулгын төрлүүд гэх мэт төрөл бүрийн өгөгдлийн төрөл агуулсан байдаг. Эдгээр өгөгдлийн төрлүүдтэй зэрэгцэн хэрэглэгчид өөрсдийн тусгай өгөгдлийн төрөл үүсгэж болно. Дараах хүснэгтэд CQL-д байгаа төрөл бүрийн өгөгдлийн төрлийн жагсаалтыг харуулав
{| class="wikitable"
|'''Өгөгдлийн төрөл'''
|'''Тогтмол'''
|'''Тайлбар'''
|-
|Ascii
|Strings
|ASCII тэмдэгт мөрийг төлөөлнө
|-
|Bigint
|Bigint
|64 битийн уртыг  тэмдэглэсэн                 
|-
|Blob
|Blobs
|Энэ нь дурын байтыг төлөөлнө
|-
|Boolean
|Booleans
|Үнэн эсвэл худал гэдгийг илэрхийлнэ
|-
|Counter
|Integers
|Баганын баганыг төлөөлнө
|-
|Decimal
|Integers,floats
|Хувьсах-нарийвчлалын аравтын бутархайг төлөөлнө
|-
|Double
|Integers
|64-битийн IEEE-754 хөвөгч цэгийг төлөөлнө
|-
|Float
|Integers,float
|32-битийн IEEE-754 хөвөгч цэгийг төлөөлнө
|-
|Inet
|Strings
|IP хаяг,IPv4 эсвэл IPv6 гэж нэрлэнэ
|-
|Int
|Integers
|32-бит гарын үсэг зурсан
|-
|Text
|Strings
|UTF8 кодчилогдсон мөрийг төлөөлнө
|-
|Timestamp
|Integers,strings
|Цаг хугацаа төлөөлнө
|-
|Timeuuid
|Uuids
|Төрөл 1 UUID-г төлөөлнө
|-
|Uuid
|Uuids
|Төрөл 1 эсвэл төрөл 4-г оруулна
|-
|UUID
|-
|Varchar
|Strings
|UTF8 кодлогдсон тэмдэгтийг илэрхийлнэ
|-
|Varint
|Integers
|Бүх дурын нарийвчлалтай бүхэл тоог илэрхийлнэ
|} 


'''Цуглуулгын төрөл'''
[[Википедиа|Википедиагийн]] хуудсыг хэвлэх, засварлах нь хялбархан.


Cassandra Query Language нь цуглуулгын өгөгдлийн төрлийг агуулдаг. Дараах хүснэгтэд CQL дэх цуглуулгуудын жагсаалтыг харуулав.
Үүний тулд текстийн хамгийн дээд талд, зүүн гар талаасаа 3 дахь "'''Засварлах'''" товчийг дарж, тухайн хуудасны өгүүллийг (бичлэгийг) өөрчилнө. "'''Засварлах'''" товчийг дарахад тухайн өгүүллийг засах, бичлэг нэмэхэд зориулсан ''"текст хайрцаг"'' гарж ирнэ. Тэнд өгүүллээ бичиж, засаж дуусныхаа дараа бичсэн зүйлээ "'''Урьдчилан харах'''" товчийг дарж, хянана. Хэрэв алдаа байхгүй бол "'''Хуудсыг хадгалах'''" товчийг дарж, хадгална.
{| class="wikitable"
|'''Цуглуулга'''
|'''Тайлбар'''
|-
|Жагсаалт
|Жагсаалт нь нэг буюу хэд хэдэн захиалсан элементүүдийн цуглуулга юм
|-
|Зураг
|Газрын зураг нь түлхүүр-хосын цуглуулга юм
|-
|Тохируулах
|Багц нь нэг буюу хэд хэдэн элементүүдийн цуглуулга юм
|} 


'''Хэрэглэгчийн тодорхойлсон өгөгдлийн төр'''өл:
Тухайн өгүүллийн агуулгын талаар санал бодлоо солилцох бол "'''Хэлэлцүүлэг'''" товчийг дарж, гарч ирэх ''Talk'' хуудас дээр бичнэ. Уг хуудас дээр саналаа бичихдээ ''гарын үсгээ'' үлдээгээрэй. Харин засвар хийсэн, эсвэл шинээр эхлүүлсэн ''өгүүллэг'' дээрээ гарын үсгээ үлдээх хэрэггүй. Учир нь МедиаВики программ нь таны, болон бусад хүмүүсийн хийсэн бүх засварыг "'''Түүх'''" хуудас дээр, тухай бүрд нь бүртгэдэг болно.


Cqlsh нь хэрэглэгчид өөрийн өгөгдлийн төрлийг бий болгох боломжийг олгодог. Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлүүдийг ашиглахад хэрэглэгддэг тушаалуудыг доор өгөв
== Шинэ хуудас нээх ==
*''Гол өгүүлэл нь [[Help:Шинэ хуудас яаж үүсгэх вэ?|Шинэ хуудас яаж үүсгэх вэ?]]''


·        CREATE TYPE - Хэрэглэгчийн тодорхойлсон өгөгдлийн сан үүсгэнэ.
Шинэ хуудас (шинэ сэдэв бүхий өгүүлэл) нээхийн тулд ''"Хайлт"'' цонхонд гарчигаа бичээд ''"Явах"'' товчийг дарна уу. Хэрэв Таны бичсэнтэй ижил гарчигтай өгүүллэг байхгүй бол, хайлтын үр дүнг харуулсан хуудасны дээд талд байх '''"Хайх"''' гэсэн үгийн доор, жижиг шрифтээр ''"You searched for . . . "'' гэсэн бичиг гарна.


·        ALTER TYPE - Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг өөрчлөх.
''". . ."'' цэгийн оронд таны бичсэн гарчиг улаан өнгөтэй харагдах ба Та уг улаан линк дээр дарж шинэ хуудас үүсгэнэ. Уг шинэ хуудас нь ''" . . . -д засвар хийж байна."'' гэсэн гарчигтай байна.


·        DROP TYPE - Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг бууруулдаг.
Аливаа өгүүллийн гарчиг нь ''олон тоон'' дээр биш '''ганц тоон дээр байх ёстой''' гэдгийг битгий мартаарай. Мөн Гарчгийн эхний үсэг '''томоор''' байх хэрэгтэй. Хэрэв гарчгийн хоёр дахь үг нь ''оноосон нэр'' бол мөн томоор байна. Бусад тохиолдолд гарчгийн хоёр, гурав дахь үгнүүд бүгд жижиг үсгээр бичигдэх ёстой. Энэ нь сүүлд, бусад хүмүүс тухайн өгүүлэлийг хайх, олоход хялбар байх болно. Жишээлбэл, ''"Хүүхдүүд"'' биш '''"Хүүхэд"''', ''"Хөвсгөл Аймаг"'' биш '''"Хөвсгөл аймаг"''' гэх мэтээр.


·        DESCRIBE TYPE - Хэрэглэгчийн тодорхойлсон өгөгдлийн төpлийг тодорхойлно.
Шинэ өгүүллийн гарчиг нь текстийн эхний өгүүлбэрт байгаа бол түүнийг '''тодруулах''' нь зүйтэй. Жишээлбэл, "Хими" гэсэн гарчигтай өгүүллийн эхний өгүүлбэрийг доорхи байдлаар, ''"'''Хими''' нь алив юмсын найрлага, бүтэц, тэдгээрийн харилцан үйлчлэл..."'' гэж бичнэ.


·        DESCRIBE TYPES - Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг тодорхойлно.
== Ойр зуурын хэрэгцээт зүйлс ==
===Тодруулсан үгс===


= Кассандра-CQL цуглуулгууд =
:Энэ бол '''Тодруулсан үгс''' юм.
CQL цуглуулга өгөгдлийн төрлийг ашиглах боломжийг олгодог. Эдгээр цуглуулгаийг ашиглахдаа олон утгыг нэг хувьсагчид хадгалж болно. Энэ бүлэгт Cassandra дахь цуглуулгуудыг хэрхэн ашиглах талаар тайлбарлана


''' Жагсаалт'''
Үүнийг хийхийн тулд, тухайн үгийнхээ өмнө болон хойно нь гурван (') тэмдгийг тавиарай.


Энд байгаа жагсаалтад жагсаалтыг ашигладаг
Жишээлбэл: <nowiki>'''Тодруулсан үгс'''</nowiki> = '''Тодруулсан үгс'''


o  элементийн дарааллыг хадгалах,
===Налуу үгс===


o  утга нь олон удаа хадгалагдах болно.
:Энэ бол ''Налуу үгс'' юм.


Жагсаалтын өгөгдлийн төрлүүдийн утгыг жагсаалт дахь элементүүдийн индекс ашиглан авч болно.
Үгийг налуулахын тулд тухайн үгнийхээ өмнө болон хойно нь хоёр (') ийм тэмдэг тавина.
<br>
Жишээ нь: <nowiki>''Налуу үгс''</nowiki> = ''Налуу үгс''


'''Жагсаалттай хүснэгтийг үүсгэх'''
===Тухайн хуудсыг бусад хэл дээрхи Википедиатай холбох===


Доорх жишээнээс жишээ авъя гэвэл хоёр багана, нэр, и-мэйлээр жишээ авъя. Олон и-мэйл хадгалахын тулд бид жагсаалтыг ашиглаж байна
Тухайн хуудсыг бусад хэлний Википедиа дахь ижил сэдэвтэй өгүүллүүдтэй холбохдоо хуудсаа үүсгээд хадгалсныхаа дараа зүүн гар талын баганан цэсний "Бусад хэлээр" гэсний доор буй саарал өнгөтэй "холбоос татах" гэдэг сонголтон дээр даран холбох хэл, хуудсаа сонгож холбоно. Аль нэгэн хэлний харгалзах хуудастай холбох үедээ бусад бүх боломжит хэлтэй зэрэг холбох гэдэг сонголтыг сонгосноор бусад бүх боломжит хэлтэй зэрэг холбогдоно.
{| class="wikitable"
|cqlsh:tutorialspoint> CREATE TABLE data(name text PRIMARY KEY, email list<text>);
Холбогдсон хэлнүүд "Бусад хэлээр" гэсэн багананд байх болно.
|}
'''Жагсаалтад өгөгдөл оруулах'''


Жагсаалт дахь элементүүдэд өгөгдөл оруулахдаа квадрат хаалтанд [] доор харуулагдсан бүх утгыг оруул.
===Гадаад холболт хийх ===
{| class="wikitable"
|cqlsh:tutorialspoint> INSERT INTO data(name, email) VALUES ('ramu',


['abc@gmail.com','cba@yahoo.com'])
Мэдээллийн эх сурвалжийг (викигийн бус) тэмдэглэх 3 арга байна:
|} 
# "Нүцгэн" линк: http://mn.wikipedia.org/ (хамгийн муу хэлбэр)
# "Шигтгэсэн" линк: [http://mn.wikipedia.org/] (энэ хэлбэрийг зөвхөн текст дунд ишлэл болгон хэрэглэвэл тохиромжтой)
# Нэртэй линк: [http://mn.wikipedia.org/ Монгол Википедиа]


'''Жагсаалтыг шинэчилж байна'''
<pre><nowiki>
Мэдээллийн эх сурвалжийг (викигийн бус) тэмдэглэх 3 арга байна:
# "Нүцгэн" линк: http://mn.wikipedia.org/ (хамгийн муу хэлбэр)
# "Шигтгэсэн" линк: [http://mn.wikipedia.org/] (энэ хэлбэрийг зөвхөн текст дунд ишлэл болгон хэрэглэвэл тохиромжтой)
# Нэртэй линк: [http://mn.wikipedia.org/ Монгол Википедиа]</nowiki></pre>


Доорх өгөгдөл нь өгөгдөл гэж нэрлэгдсэн хүснэгтийн жагсаалтан дахь өгөгдлийн төрөлийг шинэчлэх жишээ юм. Энд бид жагсаалтад өөр нэг имэйл нэмж байна. 
===Бичлэгийн агуулгатай холбоогүй (жижиг) өөрчлөлт===


{| class="wikitable"
Үг үсэг, дүрмийн алдаа засах, эсвэл ганц нэг үг өөрчилсөн үедээ "Бичлэгийн агуулгатай холбоогүй өөрчлөлт" нүдийг чагтлаарай.
|cqlsh:tutorialspoint> UPDATE data
Хэрэв тухайн өгүүллийн агуулга, зураг зэргийг өөрчилсөн тохиолдолд, "Бичлэгийн агуулгатай холбоогүй өөрчлөлт" нүдийг чагталж болохгүй.


... SET email = email +['xyz@tutorialspoint.com']
=== Дэд гарчиг, дэд сэдвүүд ===


... where name = 'ramu';
Таны одоо уншиж буй "Хэрхэн хуудас засварлах бэ?" сэдэв нь "Оршил", "Ойр зуурын хэрэгцээт зүйлс", түүн дотор "Тодруулсан үгс" "Налуу үгс" зэрэг хэд хэдэн дэд гарчгуудтай байгаа. Эдгээр дэд гарчиг, дэд гарчиг доторхи жижиг хэсгүүдийг доорхи байдлаар үүсгэнэ.
|} 


'''Баталгаажуулалт'''
<nowiki>==Ойр зуурын хэрэгцээт зүйлс==</nowiki>


Хэрэв та хүснэгтийг SELECT statement ашиглан шалгаж байвал дараах үр дүнг авна. 
Арай жижгийг нь:
{| class="wikitable"
|cqlsh:tutorialspoint> SELECT * FROM data; 


 name | email
<nowiki>===Тодруулсан үгс===</nowiki>


<nowiki>------</nowiki>+--------------------------------------------------------------
Бүр жижгийг нь:


 ramu | ['abc@gmail.com', 'cba@yahoo.com', 'xyz@tutorialspoint.com'
<nowiki>====Энэ хуудсанд байхгүй====</nowiki> гэх мэтээр


(1 rows)
Таныг дэд гарчиг үүсгэх бүрд, Википедиа автоматаар Контент - гарчгийг хуудасны эхэнд үүсгэх болно. "Агуулга" 3-с дээш дэд хэсэгтэй өгүүлэлд автоматаар үүснэ
|} 


'''Тохируулах'''
=== Жагсаах, дугаарлах ===


Тодорхойлолт нь бүлэг элементүүдийг хадгалахад ашиглагддаг өгөгдлийн төрөл юм. Багцын элементүүдийг ялгах дарааллаар буцаана.
Энэ бол жагсаалт:
:* Нохой
:* Муур
:* Шувуу


'''Тохируулгатай хүснэгтийг үүсгэх'''
Дээрх жагсаалтыг хийхийн тулд та '''ингэж бичих''' хэрэгтэй:<br>
<nowiki>* Нохой</nowiki> <br>
<nowiki>* Муур</nowiki> <br>
<nowiki>* Шувуу</nowiki> <br>


Дараах жишээнд дээжийн хүснэгтийг хоёр багана, нэр, утасны дугаараар үүсгэдэг. Олон тооны утасны дугаарыг хадгалахын тулд бид багцыг ашиглаж байна                  
Та ийм байдлаар үүсгэж болно:
{| class="wikitable"
:* Нохой
|cqlsh:tutorialspoint> CREATE TABLE data2 (name text PRIMARY KEY, phone set<varint>);
:** Том нохой
|} 
:** Жижиг нохой
:*** Пудель


'''Өгөгдөл оруулах нь'''
Дээрхийг хийхийн тулд та '''ингэж бичих''' хэрэгтэй:<br>
<nowiki>* Нохой</nowiki> <br>
<nowiki>** Том нохой </nowiki> <br>
<nowiki>** Жижиг нохой</nowiki> <br>
<nowiki>*** Пудель</nowiki> <br>


Өгөгдлийг элементүүдэд оруулах үед, доор үзүүлсэн шиг буржгар хаалт {} доор тусгаарлагдсан утгуудыг оруул.
Энэ бол дугаарлалт:
{| class="wikitable"
:# Нохой
|cqlsh:tutorialspoint> INSERT INTO data2(name, phone)VALUES ('rahman',    {9848022338,9848022339});
:# Муур
|} 
:# Шувуу


'''Тодорхойлолтыг шинэчлэх'''
Дээрх жагсаалтыг хийхийн тулд та '''ингэж бичих''' хэрэгтэй:<br>
<nowiki># Нохой</nowiki> <br>
<nowiki># Муур</nowiki> <br>
<nowiki># Шувуу</nowiki> <br>


Дараах код нь өгөгдлийг нэрлэх хүснэгтэд хэрхэн шинэчлэхийг харуулж байна. Энд бид багцын өөр утасны дугаар нэмж байна.
=== Шинэ мөрний эхэнд зай авах ===
{| class="wikitable"
|cqlsh:tutorialspoint> UPDATE data2


   ... SET phone = phone + {9848022330}
Мөрний эхэнд та зай авч болно.


   ... where name = 'rahman';
Жишээлбэл,
|} 


'''Баталгаажуулалт'''
Нохой
:Том нохой
:Жижиг нохой
Муур


Хэрэв та хүснэгтийг SELECT statement ашиглан шалгаж байвал дараах үр дүнг авна.
Үүнийг доорхи байдлаар хийнэ:
{| class="wikitable"
|cqlsh:tutorialspoint> SELECT * FROM data2; 


   name | phone
<nowiki>:Том нохой</nowiki>


<nowiki>--------</nowiki>+--------------------------------------
*Хэрвээ та нэгээс олон удаа (:) уг тэмдэглэгээг хийвэл тэр хэмжээгээр зай ихсэх болно.


 rahman | {9848022330, 9848022338, 9848022339}
=== Текст голлуулах ===
<br>
<center>Энэ текст голлосон байна уу?</center>


(1 rows)
Үүнийг доорхи байдлаар хийнэ.
|} 


'''ЗУРАГ'''
<nowiki><center>Энэ текст голлосон байна уу?</center> </nowiki>


Газрын зураг нь түлхүүрийн үнэ цэнэтэй хоёр элементийг хадгалахад ашиглагддаг өгөгдлийн төрөл юм.


'''Газрын зурагтай Хүснэгтийг үүсгэх'''
== "Хэлэлцүүлэг" хуудас ==


Дараах жишээ нь хоёр багана, нэр, хаягыг хэрхэн түүвэрлэлтийн хүснэгтийг хэрхэн үүсгэхийг харуулж байна. Олон хаягийн утгыг хадгалахын тулд бид газрын зургийг ашиглаж байна.
Тухайн өгүүллийн агуулгын талаар санал бодлоо солилцох бол "'''Хэлэлцүүлэг'''" товчийг дарж, гарч ирэх ''Talk'' хуудас дээр бичнэ. Уг хуудас дээр саналаа бичихдээ ''гарын үсгээ'' үлдээгээрэй. Харин засвар хийсэн, эсвэл шинээр эхлүүлсэн ''өгүүлэл'' дээрээ гарын үсгээ үлдээх хэрэггүй. Учир нь МедиаВики программ нь таны, болон бусад хүмүүсийн хийсэн бүх засварыг "'''Түүх'''" хуудас дээр, тухай бүрд нь бүртгэдэг болно.
{| class="wikitable"
|cqlsh:tutorialspoint> CREATE TABLE data3 (name text PRIMARY KEY, address


map<timestamp, text>);
Энэ '''долгионтой зураас''' (~)-ыг Хэлэлцүүлэг хуудас дээр бичсэн бичлэгийнхээ эцэст гарын үсгээ үлдээхдээ ашиглаарай.
|} 
Хэрэв 4 ширхэг долгионтой зураас (<nowiki>~~~~</nowiki>) бичвэл Таны хэрэглэгчийн нэр, бичлэг хийсэн огноо үлдэнэ.
: [[User:Tsogo3|Цогоо]] 07:03, 27 Долоодугаар сар 2007 (UTC)
Хэрэв 3 ширхэг (<nowiki>~~~</nowiki>) бол, зөвхөн таны хэрэглэгчийн нэр:
: [[User:Tsogo3|Цогоо]]
Хэрэв 5 ширхэг бол (<nowiki>~~~~~</nowiki>) зөвхөн огноо үлдэх болно:
: 07:03, 27 Долоодугаар сар 2007 (UTC)


'''Газрын зураг руу өгөгдөл оруулах'''
* "Текстэн хайрцаг" дахь бэлэн багажууд дотор "Таны бичлэг үйлдсэн цаг бүхий гарын үсэг" гэсэн товч байгаа тул түүнийг ашиглаарай.


Газрын зураг дээрх элементүүдэд өгөгдөл оруулахдаа бүх түлхүүрийг оруул. Доор харуулснаар {} баруун тийш таслалаар таслагдсан хос утга бүхий утга.
== Бусад холбоотой сэдвүүд ==
{| class="wikitable"
* [[Help:Агуулга]]
|cqlsh:tutorialspoint> INSERT INTO data3 (name, address)
* [[Help:Шинэ хуудас яаж үүсгэх вэ?]]
* [[Help:Зураг яаж оруулах вэ?]]
* [[Help:Тусгай тэмдэглэгээ, томъёо яаж оруулах вэ?]]
* [[Help:Арай өндөр төвшинд текст засварлах талаар]]


   VALUES ('robin', {'home' : 'hyderabad' , 'office' : 'Delhi' } );
|} 

'''Тодорхойлолтыг шинэчлэх'''

Дараах код нь өгөгдлийн өгөгдлийн төрлийг хэрхэн шинэчлэхийг харуулж байна3. Энд бид гол оффисын үнэ цэнийг өөрчилж байна, өөрөөр хэлбэл, бид робин нэртэй хүний оффисийн хаягийг өөрчилж байна.
{| class="wikitable"
|cqlsh:tutorialspoint> UPDATE data3

   ... SET address = address+{'office':'mumbai'}

   ... WHERE name = 'robin';
|}  

''' '''

'''Баталгаажуулалт'''

Хэрэв та хүснэгтийг SELECT statement ашиглан шалгаж байвал дараах үр дүнг авна.
{| class="wikitable"
|cqlsh:tutorialspoint> select * from data3; 

  name | address

<nowiki>-------</nowiki>+-------------------------------------------

 robin | {'home': 'hyderabad', 'office': 'mumbai'}

(1 rows)
|}

= Кассандра - CQL Хэрэглэгчийн тодорхойлж өгсөн өгөгдөл =
CQL нь хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг үүсгэх, ашиглах боломжийг хангадаг. Та олон талбарт ажиллах өгөгдлийн төрөл үүсгэж болно. Энэ бүлэгт хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг хэрхэн үүсгэх, өөрчлөх, устгах талаар тайлбарлана.

'''Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг үүсгэх'''

CREATE TYPE тушаал нь хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг үүсгэхэд ашиглагддаг. Түүний синтакс нь дараах байдалтай байна:
{| class="wikitable"
|CREATE TYPE <keyspace name>. <nowiki><data typename></nowiki>

( variable1, variable2).
|} 

'''Жишээ нь'''

Доорх бол хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг үүсгэх жишээ юм. Энэ жишээнд бид дараах дэлгэрэнгүй мэдээллийг агуулсан картан дээрхи мэдээллийн төрөл үүсгэж байна.
{| class="wikitable"
|'''Талбар'''
|'''Талбарын нэр'''
|'''Өгөгдлийн төрөл'''
|-
|Кредит картны дугаар
|Тоо
|Int
|-
|Кредит картны зүү
|Зүү
|Int
|-
|Зээлийн картны нэр
|Нэр
|Текст
|-
|Cvv
|Cvv
|Int
|-
|Карт эзэмшигчийн холбоо барих мэдээлэл
|Дугаар
|Тохируулах
|} 
{| class="wikitable"
|cqlsh:tutorialspoint> CREATE TYPE card_details (

   ... num int,

   ... pin int,

   ... name text,

   ... cvv int,

   ... phone set<int>

... );
|}
'''Тэмдэглэл:''' Хэрэглэгчийн тодорхойлсон өгөгдлийн төрөлд ашиглагдах нэр нь хадгалагдсан төрлийн нэртэй таарахгүй байх ёстой.

'''Баталгаажуулалт'''

DESCRIBE тушаалыг ашиглан үүсгэсэн төрлийг үүсгэсэн эсэхийг шалгана уу.
{| class="wikitable"
|CREATE TYPE tutorialspoint.card_details (

   num int,                       

   pin int,

   name text,

   cvv int,

   phone set<int>

   );
|} 

'''Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг өөрчлөх'''

ALTER TYPE командыг одоо байгаа өгөгдлийн төрлийг өөрчлөхөд ашигладаг. ALTER-г ашигласнаар та шинэ талбарыг нэмж эсвэл одоо байгаа талбарыг өөрчилж болно.

'''Талбарт төрөл нэмэх'''

Хэрэглэгчийн тодорхойлсон өгөгдлийн төрөлд шинэ талбарыг нэмэхийн тулд дараах синтаксийг ашиглана.
{| class="wikitable"
|ALTER TYPE typename

ADD field_name field_type;
|}
Дараах код нь категорийн төрөл дэх картын төрлийг харуулна. Энд бид имэйл нэртэй шинэ салбар нэмж байна.
{| class="wikitable"
|cqlsh:tutorialspoint> ALTER TYPE card_details ADD email text;
|} 

'''Баталгаажуулалт'''

DESCRIBE тушаалыг ашиглан шинэ талбарыг нэмсэн эсэхийг шалгана уу.
{| class="wikitable"
|cqlsh:tutorialspoint> describe type card_details;

CREATE TYPE tutorialspoint.card_details (

   num int,

   pin int,

   name text,

   cvv int,

   phone set<int>,

   );
|} 

'''Талбарыг төрөл хэлбэрээр өөрчлөх'''

Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг өөрчлөхийн тулд дараах синтаксийг ашиглана уу.
{| class="wikitable"
|ALTER TYPE typename

RENAME existing_name TO new_name;
|}
Дараах код нь төрөл дэх талбарын нэрийг өөрчилдөг. Энд бид талбар имэйлийг шуудангаар нэрлэх болно.
{| class="wikitable"
|cqlsh:tutorialspoint> ALTER TYPE card_details RENAME email TO mail;
|}
'''Баталгаажуулалт'''

DESCRIBE тушаалыг ашиглан төрөлтийн нэр өөрчлөгдсөн эсэхийг шалгана уу.
{| class="wikitable"
|cqlsh:tutorialspoint> describe type card_details;

CREATE TYPE tutorialspoint.card_details (

   num int,

   pin int,

   name text,

   cvv int,

   phone set<int>,

   mail text

   );
|} 

'''Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг устгах'''

DROP TYPE нь хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг устгахад хэрэглэгддэг тушаал юм. Доорх бол хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг устгах жишээ юм.

'''Жишээ нь'''

Хас устгахаас өмнө доор тайлбарласны дагуу DESCRIBE_TYPES командыг ашиглан хэрэглэгчийн тодорхойлсон өгөгдлийн төрлүүдийн жагсаалтыг баталгаажуулна уу.
{| class="wikitable"
|cqlsh:tutorialspoint> DESCRIBE TYPES;

card_details card
|} 

Хоёр төрлөөс эхлэн нэрлэсэн картыг доор үзүүлснээр устгах хэрэгтэй.
{| class="wikitable"
|cqlsh:tutorialspoint> drop type card;
|} 

Өгөгдлийн төрлийг хассан эсэхийг шалгахын тулд DESCRIBE командыг ашиглана уу.
{| class="wikitable"
|cqlsh:tutorialspoint> describe types;

card_details.
|}


[[af:Wikipedia:Redigeer]]
[[af:Wikipedia:Redigeer]]

15:47, 1 Арваннэгдүгээр сар 2017-ий байдлаарх засвар

                   Кассандра CQL Төрөл 

Кассандра- CQL Өгөгдөл

CQL нь цуглуулгын төрлүүд гэх мэт төрөл бүрийн өгөгдлийн төрөл агуулсан байдаг. Эдгээр өгөгдлийн төрлүүдтэй зэрэгцэн хэрэглэгчид өөрсдийн тусгай өгөгдлийн төрөл үүсгэж болно. Дараах хүснэгтэд CQL-д байгаа төрөл бүрийн өгөгдлийн төрлийн жагсаалтыг харуулав

Өгөгдлийн төрөл Тогтмол Тайлбар
Ascii Strings ASCII тэмдэгт мөрийг төлөөлнө
Bigint Bigint 64 битийн уртыг  тэмдэглэсэн                 
Blob Blobs Энэ нь дурын байтыг төлөөлнө
Boolean Booleans Үнэн эсвэл худал гэдгийг илэрхийлнэ
Counter Integers Баганын баганыг төлөөлнө
Decimal Integers,floats Хувьсах-нарийвчлалын аравтын бутархайг төлөөлнө
Double Integers 64-битийн IEEE-754 хөвөгч цэгийг төлөөлнө
Float Integers,float 32-битийн IEEE-754 хөвөгч цэгийг төлөөлнө
Inet Strings IP хаяг,IPv4 эсвэл IPv6 гэж нэрлэнэ
Int Integers 32-бит гарын үсэг зурсан
Text Strings UTF8 кодчилогдсон мөрийг төлөөлнө
Timestamp Integers,strings Цаг хугацаа төлөөлнө
Timeuuid Uuids Төрөл 1 UUID-г төлөөлнө
Uuid Uuids Төрөл 1 эсвэл төрөл 4-г оруулна
    UUID
Varchar Strings UTF8 кодлогдсон тэмдэгтийг илэрхийлнэ
Varint Integers Бүх дурын нарийвчлалтай бүхэл тоог илэрхийлнэ

 

Цуглуулгын төрөл

Cassandra Query Language нь цуглуулгын өгөгдлийн төрлийг агуулдаг. Дараах хүснэгтэд CQL дэх цуглуулгуудын жагсаалтыг харуулав.

Цуглуулга Тайлбар
Жагсаалт Жагсаалт нь нэг буюу хэд хэдэн захиалсан элементүүдийн цуглуулга юм
Зураг Газрын зураг нь түлхүүр-хосын цуглуулга юм
Тохируулах Багц нь нэг буюу хэд хэдэн элементүүдийн цуглуулга юм

 

Хэрэглэгчийн тодорхойлсон өгөгдлийн төрөл:

Cqlsh нь хэрэглэгчид өөрийн өгөгдлийн төрлийг бий болгох боломжийг олгодог. Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлүүдийг ашиглахад хэрэглэгддэг тушаалуудыг доор өгөв

·        CREATE TYPE - Хэрэглэгчийн тодорхойлсон өгөгдлийн сан үүсгэнэ.

·        ALTER TYPE - Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг өөрчлөх.

·        DROP TYPE - Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг бууруулдаг.

·        DESCRIBE TYPE - Хэрэглэгчийн тодорхойлсон өгөгдлийн төpлийг тодорхойлно.

·        DESCRIBE TYPES - Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг тодорхойлно.

Кассандра-CQL цуглуулгууд

CQL цуглуулга өгөгдлийн төрлийг ашиглах боломжийг олгодог. Эдгээр цуглуулгаийг ашиглахдаа олон утгыг нэг хувьсагчид хадгалж болно. Энэ бүлэгт Cassandra дахь цуглуулгуудыг хэрхэн ашиглах талаар тайлбарлана

 Жагсаалт

Энд байгаа жагсаалтад жагсаалтыг ашигладаг

o  элементийн дарааллыг хадгалах,

o  утга нь олон удаа хадгалагдах болно.

Жагсаалтын өгөгдлийн төрлүүдийн утгыг жагсаалт дахь элементүүдийн индекс ашиглан авч болно.

Жагсаалттай хүснэгтийг үүсгэх

Доорх жишээнээс жишээ авъя гэвэл хоёр багана, нэр, и-мэйлээр жишээ авъя. Олон и-мэйл хадгалахын тулд бид жагсаалтыг ашиглаж байна

cqlsh:tutorialspoint> CREATE TABLE data(name text PRIMARY KEY, email list<text>);

Жагсаалтад өгөгдөл оруулах

Жагсаалт дахь элементүүдэд өгөгдөл оруулахдаа квадрат хаалтанд [] доор харуулагдсан бүх утгыг оруул.

cqlsh:tutorialspoint> INSERT INTO data(name, email) VALUES ('ramu',

['abc@gmail.com','cba@yahoo.com'])

 

Жагсаалтыг шинэчилж байна

Доорх өгөгдөл нь өгөгдөл гэж нэрлэгдсэн хүснэгтийн жагсаалтан дахь өгөгдлийн төрөлийг шинэчлэх жишээ юм. Энд бид жагсаалтад өөр нэг имэйл нэмж байна. 

cqlsh:tutorialspoint> UPDATE data

... SET email = email +['xyz@tutorialspoint.com']

... where name = 'ramu';

 

Баталгаажуулалт

Хэрэв та хүснэгтийг SELECT statement ашиглан шалгаж байвал дараах үр дүнг авна. 

cqlsh:tutorialspoint> SELECT * FROM data; 

 name | email

------+--------------------------------------------------------------

 ramu | ['abc@gmail.com', 'cba@yahoo.com', 'xyz@tutorialspoint.com'

(1 rows)

 

Тохируулах

Тодорхойлолт нь бүлэг элементүүдийг хадгалахад ашиглагддаг өгөгдлийн төрөл юм. Багцын элементүүдийг ялгах дарааллаар буцаана.

Тохируулгатай хүснэгтийг үүсгэх

Дараах жишээнд дээжийн хүснэгтийг хоёр багана, нэр, утасны дугаараар үүсгэдэг. Олон тооны утасны дугаарыг хадгалахын тулд бид багцыг ашиглаж байна                  

cqlsh:tutorialspoint> CREATE TABLE data2 (name text PRIMARY KEY, phone set<varint>);

 

Өгөгдөл оруулах нь

Өгөгдлийг элементүүдэд оруулах үед, доор үзүүлсэн шиг буржгар хаалт {} доор тусгаарлагдсан утгуудыг оруул.

cqlsh:tutorialspoint> INSERT INTO data2(name, phone)VALUES ('rahman',    {9848022338,9848022339});

 

Тодорхойлолтыг шинэчлэх

Дараах код нь өгөгдлийг нэрлэх хүснэгтэд хэрхэн шинэчлэхийг харуулж байна. Энд бид багцын өөр утасны дугаар нэмж байна.

cqlsh:tutorialspoint> UPDATE data2

   ... SET phone = phone + {9848022330}

   ... where name = 'rahman';

 

Баталгаажуулалт

Хэрэв та хүснэгтийг SELECT statement ашиглан шалгаж байвал дараах үр дүнг авна.

cqlsh:tutorialspoint> SELECT * FROM data2; 

   name | phone

--------+--------------------------------------

 rahman | {9848022330, 9848022338, 9848022339}

(1 rows)

 

ЗУРАГ

Газрын зураг нь түлхүүрийн үнэ цэнэтэй хоёр элементийг хадгалахад ашиглагддаг өгөгдлийн төрөл юм.

Газрын зурагтай Хүснэгтийг үүсгэх

Дараах жишээ нь хоёр багана, нэр, хаягыг хэрхэн түүвэрлэлтийн хүснэгтийг хэрхэн үүсгэхийг харуулж байна. Олон хаягийн утгыг хадгалахын тулд бид газрын зургийг ашиглаж байна.

cqlsh:tutorialspoint> CREATE TABLE data3 (name text PRIMARY KEY, address

map<timestamp, text>);

 

Газрын зураг руу өгөгдөл оруулах

Газрын зураг дээрх элементүүдэд өгөгдөл оруулахдаа бүх түлхүүрийг оруул. Доор харуулснаар {} баруун тийш таслалаар таслагдсан хос утга бүхий утга.

cqlsh:tutorialspoint> INSERT INTO data3 (name, address)

   VALUES ('robin', {'home' : 'hyderabad' , 'office' : 'Delhi' } );

 

Тодорхойлолтыг шинэчлэх

Дараах код нь өгөгдлийн өгөгдлийн төрлийг хэрхэн шинэчлэхийг харуулж байна3. Энд бид гол оффисын үнэ цэнийг өөрчилж байна, өөрөөр хэлбэл, бид робин нэртэй хүний оффисийн хаягийг өөрчилж байна.

cqlsh:tutorialspoint> UPDATE data3

   ... SET address = address+{'office':'mumbai'}

   ... WHERE name = 'robin';

  

 

Баталгаажуулалт

Хэрэв та хүснэгтийг SELECT statement ашиглан шалгаж байвал дараах үр дүнг авна.

cqlsh:tutorialspoint> select * from data3; 

  name | address

-------+-------------------------------------------

 robin | {'home': 'hyderabad', 'office': 'mumbai'}

(1 rows)

Кассандра - CQL Хэрэглэгчийн тодорхойлж өгсөн өгөгдөл

CQL нь хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг үүсгэх, ашиглах боломжийг хангадаг. Та олон талбарт ажиллах өгөгдлийн төрөл үүсгэж болно. Энэ бүлэгт хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг хэрхэн үүсгэх, өөрчлөх, устгах талаар тайлбарлана.

Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг үүсгэх

CREATE TYPE тушаал нь хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг үүсгэхэд ашиглагддаг. Түүний синтакс нь дараах байдалтай байна:

CREATE TYPE <keyspace name>. <data typename>

( variable1, variable2).

 

Жишээ нь

Доорх бол хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг үүсгэх жишээ юм. Энэ жишээнд бид дараах дэлгэрэнгүй мэдээллийг агуулсан картан дээрхи мэдээллийн төрөл үүсгэж байна.

Талбар Талбарын нэр Өгөгдлийн төрөл
Кредит картны дугаар Тоо Int
Кредит картны зүү Зүү Int
Зээлийн картны нэр Нэр Текст
Cvv Cvv Int
Карт эзэмшигчийн холбоо барих мэдээлэл Дугаар Тохируулах

 

cqlsh:tutorialspoint> CREATE TYPE card_details (

   ... num int,

   ... pin int,

   ... name text,

   ... cvv int,

   ... phone set<int>

... );

Тэмдэглэл: Хэрэглэгчийн тодорхойлсон өгөгдлийн төрөлд ашиглагдах нэр нь хадгалагдсан төрлийн нэртэй таарахгүй байх ёстой.

Баталгаажуулалт

DESCRIBE тушаалыг ашиглан үүсгэсэн төрлийг үүсгэсэн эсэхийг шалгана уу.

CREATE TYPE tutorialspoint.card_details (

   num int,                       

   pin int,

   name text,

   cvv int,

   phone set<int>

   );

 

Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг өөрчлөх

ALTER TYPE командыг одоо байгаа өгөгдлийн төрлийг өөрчлөхөд ашигладаг. ALTER-г ашигласнаар та шинэ талбарыг нэмж эсвэл одоо байгаа талбарыг өөрчилж болно.

Талбарт төрөл нэмэх

Хэрэглэгчийн тодорхойлсон өгөгдлийн төрөлд шинэ талбарыг нэмэхийн тулд дараах синтаксийг ашиглана.

ALTER TYPE typename

ADD field_name field_type;

Дараах код нь категорийн төрөл дэх картын төрлийг харуулна. Энд бид имэйл нэртэй шинэ салбар нэмж байна.

cqlsh:tutorialspoint> ALTER TYPE card_details ADD email text;

 

Баталгаажуулалт

DESCRIBE тушаалыг ашиглан шинэ талбарыг нэмсэн эсэхийг шалгана уу.

cqlsh:tutorialspoint> describe type card_details;

CREATE TYPE tutorialspoint.card_details (

   num int,

   pin int,

   name text,

   cvv int,

   phone set<int>,

   );

 

Талбарыг төрөл хэлбэрээр өөрчлөх

Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг өөрчлөхийн тулд дараах синтаксийг ашиглана уу.

ALTER TYPE typename

RENAME existing_name TO new_name;

Дараах код нь төрөл дэх талбарын нэрийг өөрчилдөг. Энд бид талбар имэйлийг шуудангаар нэрлэх болно.

cqlsh:tutorialspoint> ALTER TYPE card_details RENAME email TO mail;

Баталгаажуулалт

DESCRIBE тушаалыг ашиглан төрөлтийн нэр өөрчлөгдсөн эсэхийг шалгана уу.

cqlsh:tutorialspoint> describe type card_details;

CREATE TYPE tutorialspoint.card_details (

   num int,

   pin int,

   name text,

   cvv int,

   phone set<int>,

   mail text

   );

 

Хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг устгах

DROP TYPE нь хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг устгахад хэрэглэгддэг тушаал юм. Доорх бол хэрэглэгчийн тодорхойлсон өгөгдлийн төрлийг устгах жишээ юм.

Жишээ нь

Хас устгахаас өмнө доор тайлбарласны дагуу DESCRIBE_TYPES командыг ашиглан хэрэглэгчийн тодорхойлсон өгөгдлийн төрлүүдийн жагсаалтыг баталгаажуулна уу.

cqlsh:tutorialspoint> DESCRIBE TYPES;

card_details card

 

Хоёр төрлөөс эхлэн нэрлэсэн картыг доор үзүүлснээр устгах хэрэгтэй.

cqlsh:tutorialspoint> drop type card;

 

Өгөгдлийн төрлийг хассан эсэхийг шалгахын тулд DESCRIBE командыг ашиглана уу.

cqlsh:tutorialspoint> describe types;

card_details.