πŸ“ Computer Science

    SQL SELECT

    SQL SELECT

    SELECT [PREDICATE] [ν…Œμ΄λΈ”λͺ….]속성λͺ… [AS 별칭], ... FROM ν…Œμ΄λΈ”λͺ… [AS 별칭], ... WHERE 쑰건 ORDER BY 속성λͺ… [ASC | DESC], ... GROUP BY 속성λͺ…, ... HAVING 쑰건; 1. SELECT 절 쑰건에 λ§žλŠ” νŠœν”Œμ„ κ²€μƒ‰ν•œλ‹€. PREDICATE: 뢈러올 νŠœν”Œ 수λ₯Ό μ œν•œν•  λͺ…λ Ήμ–΄λ₯Ό κΈ°μˆ ν•œλ‹€. DISTINCT: μ€‘λ³΅λœ νŠœν”Œμ΄ 있으면 그쀑 첫 번째 ν•œ 개만 κ²€μƒ‰ν•œλ‹€ DISTINCT: μ€‘λ³΅λœ νŠœν”Œμ„ μ œκ±°ν•˜κ³  ν•œ 개만 κ²€μƒ‰ν•˜μ§€λ§Œ μ„ νƒλœ μ†μ„±μ˜ 값이 μ•„λ‹Œ νŠœν”Œ 전체λ₯Ό λŒ€μƒμœΌλ‘œ ν•œλ‹€. κΈ°λ³Έ ν…Œμ΄λΈ”μ„ κ΅¬μ„±ν•˜λŠ” λͺ¨λ“  속성을 지정할 λ•ŒλŠ” '*'λ₯Ό κΈ°μˆ ν•œλ‹€. 2. ORDER BY 절 νŠΉμ • 속성을 κΈ°μ€€μœΌλ‘œ μ •λ ¬ν•˜μ—¬ 검색할 λ•Œ μ‚¬μš©ν•œλ‹€. [ASC | DESC]:..

    SQL

    SQL ꡭ제 ν‘œμ€€ λ°μ΄ν„°λ² μ΄μŠ€ 언어이며 질의 κΈ°λŠ₯κ³Ό μ œμ–΄ κΈ°λŠ₯을 λͺ¨λ‘ κ°–μΆ”κ³  μžˆλ‹€. 1. DDL(Data Define Language) 데이터 μ •μ˜μ–΄λ‘œ SCHEMA, DOMAIN, TABLE, VIEW, INDEXλ₯Ό μ •μ˜ν•˜κ±°λ‚˜ λ³€κ²½, μ‚­μ œν•  λ•Œ μ‚¬μš©ν•œλ‹€. 1) CREATE SCHEMA, DOMAIN, TABLE, VIEW, INDEXλ₯Ό μ •μ˜ν•œλ‹€. 2) ALTER TABLE에 λŒ€ν•œ μ •μ˜λ₯Ό λ³€κ²½ν•œλ‹€. ALTER TABLE ν…Œμ΄λΈ”λͺ… ADD 속성λͺ… λ°μ΄ν„°νƒ€μž… [DEFAULT 'κΈ°λ³Έκ°’']; // μƒˆλ‘œμš΄ 속성 μΆ”κ°€ ALTER TABLE ν…Œμ΄λΈ”λͺ… ALTER 속성λͺ… [SET DEFAULT 'κΈ°λ³Έκ°’']; // μ†μ„±μ˜ κΈ°λ³Έκ°’ λ³€κ²½ ALTER TABLE ν…Œμ΄λΈ”λͺ… DROP 속성λͺ… [CASCADE]; // 속성 제거 3) DR..

    [C/C++] Tip

    μž…μΆœλ ₯ // ν•œ 쀄 μž…λ ₯ λ°›κΈ°(λ„μ–΄μ“°κΈ°κΉŒμ§€ μž…λ ₯ λ°›λŠ”λ‹€.) getline(cin, string); // ν•˜λ‚˜ ν•˜λ‚˜ μž…λ ₯ λ°›κΈ° scanf("%1d", &a[i]); // while문으둜 μž…λ ₯λ°›κΈ° while (scanf("%d", &n) != EOF) while (cin >> n) // 0n 으둜 좜λ ₯ν•˜κ³  싢을 λ•Œ printf("%02d", test); // μ†Œμˆ˜μ  좜λ ₯ printf("%.6lf"); // C cout 0) { nums = to_string(num % n) + nums; num /= n; } return nums; } μ—λΌν† μŠ€ν…Œλ„€μŠ€μ˜ 체λ₯Ό μ΄μš©ν•œ μ†Œμˆ˜ κ΅¬ν•˜κΈ° bool prime[1000001] = { 1,1 }; for (int i = 2; i * i

    νŠΈλžœμž­μ…˜(Transaction)

    νŠΈλžœμž­μ…˜(Transaction)

    νŠΈλžœμž­μ…˜(Transaction) λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλ₯Ό λ³€ν™˜μ‹œν‚€λŠ” ν•˜λ‚˜μ˜ 논리적 κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•œ μž‘μ—…μ˜ λ‹¨μœ„, 일련의 연산듀을 μ˜λ―Έν•œλ‹€. 1. ACID μ›μžμ„±(Atomicity): νŠΈλžœμž­μ…˜μ˜ 연산은 λ°μ΄ν„°λ² μ΄μŠ€μ— λͺ¨λ‘ λ°˜μ˜λ˜λ„λ‘ μ™„λ£Œ(Commit)λ˜λ“ μ§€ μ•„λ‹ˆλ©΄ μ „ν˜€ λ°˜μ˜λ˜μ§€ μ•Šλ„λ‘ 볡ꡬ(Rollback)λ˜μ–΄μ•Ό ν•œλ‹€. 일관성(Consistency): νŠΈλžœμž­μ…˜μ΄ μ™„λ£Œλœ λ‹€μŒμ˜ μƒνƒœμ—μ„œλ„ νŠΈλžœμž­μ…˜μ΄ μΌμ–΄λ‚˜κΈ° μ „μ˜ 상황과 λ™μΌν•˜κ²Œ λ°μ΄ν„°μ˜ 일관성을 보μž₯ν•΄μ•Ό ν•œλ‹€. 고립성(Isolation): ν•œ νŠΈλžœμž­μ…˜μ΄ μž‘μ—…μ„ ν•˜λŠ” λ™μ•ˆ μ™„λ£Œλ˜κΈ° μ „μ—λŠ” μž‘μ—… 쀑인 데이터λ₯Ό λ‹€λ₯Έ νŠΈλžœμž­μ…˜λ“€μ΄ μ ‘κ·Όν•˜μ§€ λͺ»ν•˜λ„둝 ν•΄μ•Ό ν•œλ‹€. 지속성(Durability): νŠΈλžœμž­μ…˜μ˜ 싀행이 μ„±κ³΅μ μœΌλ‘œ μ‹€ν–‰ μ™„λ£Œλœ ν›„μ—λŠ” μ‹œμŠ€ν…œμ— 였λ₯˜κ°€ λ°œμƒν•˜λ”..

    μ •κ·œν™”(Normalization)

    μ •κ·œν™”(Normalization)

    μ •κ·œν™”λ₯Ό κ±°μΉ˜μ§€ μ•ŠμœΌλ©΄ λ°μ΄ν„°λ² μ΄μŠ€ 내에 데이터듀이 λΆˆν•„μš”ν•˜κ²Œ 쀑볡, μ’…μ†λ˜μ–΄ 이상 ν˜„μƒμ΄ λ°œμƒν•œλ‹€. 1. 이상(Anomaly) ν˜„μƒ μ‚½μž…(Insertion) 이상: μ˜λ„μ™€λŠ” 상관없이 μ›ν•˜μ§€ μ•Šμ€ 값듀도 ν•¨κ»˜ μ‚½μž…λ˜λŠ” ν˜„μƒ μ‚­μ œ(Deletion) 이상: μ˜λ„μ™€λŠ” μƒκ΄€μ—†λŠ” 값듀도 ν•¨κ»˜ μ‚­μ œλ˜λŠ” 연쇄가 μΌμ–΄λ‚˜λŠ” ν˜„μƒ κ°±μ‹ (Update) 이상: 일뢀 νŠœν”Œμ˜ μ •λ³΄λ§Œ κ°±μ‹ λ˜μ–΄ 정보에 λͺ¨μˆœμ΄ μƒκΈ°λŠ” ν˜„μƒ 2. μ •κ·œν™”(Normalization) μ •κ·œν™”λž€ κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 쀑볡을 μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•΄ 데이터λ₯Ό κ΅¬μ‘°ν™”ν•˜λŠ” μž‘μ—…μœΌλ‘œ 잘λͺ» μ„€κ³„λœ λ¦΄λ ˆμ΄μ…˜μ„ 더 μž‘μ€ μ†μ„±μœΌλ‘œ λΆ„ν•΄ν•˜μ—¬ λ°”λžŒμ§ν•œ λ¦΄λ ˆμ΄μ…˜μœΌλ‘œ λ§Œλ“€μ–΄ κ°€λŠ” 과정이닀. ν•¨μˆ˜μ  쒅속성을 μ΄μš©ν•΄ νŒλ‹¨ν•œλ‹€. 무손싀 쑰인을 보μž₯ν•œλ‹€. μ—¬κΈ°μ„œ 무손싀 μ‘°μΈμ΄λž€ μ‘°μΈν•˜λ©΄ μ›λž˜μ˜..

    ν‚€(Key)와 무결성 μ œμ•½ 쑰건

    ν‚€(Key)와 무결성 μ œμ•½ 쑰건

    κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€λŠ” 관계 λŒ€μˆ˜μ˜ κ°œλ…μ„ λ°”νƒ•μœΌλ‘œ κ°œλ°œλ˜μ—ˆκ³  데이터가 ν…Œμ΄λΈ”μ— μ €μž₯되며 각 ν…Œμ΄λΈ”μ€ ν–‰(νŠœν”Œ)κ³Ό μ—΄(속성)둜 κ΅¬μ„±λœλ‹€. 관계 λŒ€μˆ˜: μ–΄λ–€ 데이터λ₯Ό μ–΄λ–»κ²Œ μ°ΎλŠ”μ§€μ— λŒ€ν•œ 처리 절차λ₯Ό λͺ…μ‹œν•˜λŠ” 절차적인 언어이닀. 1. ν‚€(Key) νŠœν”Œλ“€μ„ μ„œλ‘œ ꡬ뢄할 수 μžˆλŠ” 기쀀이 λ˜λŠ” 속성(μ• νŠΈλ¦¬λ·°νŠΈ)을 λ§ν•œλ‹€. 슈퍼 ν‚€(Super Key): μ†μ„±λ“€μ˜ μ§‘ν•©μœΌλ‘œ μœ μΌμ„±μ€ λ§Œμ‘±ν•˜μ§€λ§Œ μ΅œμ†Œμ„±μ€ λ§Œμ‘±μ‹œν‚€μ§€ λͺ»ν•œλ‹€. 후보 ν‚€(Candidate Key): νŠœν”Œμ„ μœ μΌν•˜κ²Œ μ‹λ³„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μ†μ„±λ“€μ˜ λΆ€λΆ„μ§‘ν•©μœΌλ‘œ λͺ¨λ“  νŠœν”Œμ— λŒ€ν•΄ μœ μΌμ„±κ³Ό μ΅œμ†Œμ„±μ„ λ§Œμ‘±μ‹œμΌœμ•Ό ν•œλ‹€. μœ μΌμ„±(Unique): ν•˜λ‚˜μ˜ ν‚€κ°’μœΌλ‘œ ν•˜λ‚˜μ˜ νŠœν”Œλ§Œμ„ μœ μΌν•˜κ²Œ 식별할 수 μžˆμ–΄μ•Ό ν•œλ‹€. μ΅œμ†Œμ„±(Minimality): νŠœν”Œλ“€μ„ μœ μΌν•˜κ²Œ μ‹λ³„ν•˜λŠ” 데..