
0. 개요
오늘 공부한 SQLD 와 함께 파이썬에서 알게 된 새로운 내용을 다시 정리해보려고 한다.
1. SQLD 에서 잠시 배운거
[1] 데이터 모델과 모델링의 정의
1) 데이터 모델이란? - 데이터를 기반으로 한 모델링의 과정
[중요한 이유 : 데이터 모델은 데이터베이스의 큰 그림을 이해하고 SQL을 작성하는 데 필요한 매우 중요한 요소]
2) 데이터 모델링의 정의 (중요 ⭐⭐⭐⭐⭐)
- 데이터 모델링 - 현실 세계의 모습들을 추상화해서 표현하는 것
- 정보 시스템 구출을 위해 데이터 관점의 업무를 분석하는 과정 = 개발만을 위한, 보기만을 위한 것이다는 틀린 오답
- 현실 세계의 데이터를 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 구축하기 위한 분석 및 설계의 과정
3) 목적 : '정의' 하고 '표현'해서 업무를 분석하여 분석 모델을 통해 실제 데이터베이스를 생성하여 데이터를 관리
4) 데이터 모델이 제공하는 기능
기능 | 설명 |
시각화 | 시스템을 원하는 모습으로 시각화해서 자료를 보여준다. |
문서화 | 문서를 구조화해서 하나의 양식으로 만든다. |
구체화 | 특정한 목표를 구체화된 여러 수단을 사용해서 데이터를 제공한다. |
구조화된 틀 제공 | 시스템을 구축하는 구조화 된 프레임을 제공한다. |
다양한 관점 제공 | 다양한 영역에 집중하기 위해 다른 세부적인 사항은 숨기고 다양한 관점을 제공한다. |
5) 데이터 모델링의 특징
특징 | 설명 |
추상화(Abstraction) | 일정한 양식에 맞춰서 표현하는 것 특정한 정량적 / 정성적 데이터를 하나의 개념,단어 등으로 추상화 시키는 개념 |
단순화(Simplification) | 현실 규칙에 기반한 제한도니 표기법이나 언어로 표현 복잡한 내용을 재분류하고 나눈 다음 카테고리 화하여 단순화 시키는 것. |
명확화(Clarity) | 애매모호한 내용을 지우고 현상을 정확히 정의하는 방법 |
사실 여기 까지 밖에 이해 못했다. 더 들어봤는데, 괜히 헤매고 있어서... 그래서 2번 이상 들었는 데도 더 불가능해서 파이썬 공부를 했다.
2. 파이썬 배운거 중에 새로 배운 거 정보
print(type(age)) #<class 'int'>
pring(type(name)) #<class 'str'>
type() 의 경우에는 int / str / float / list 와 같은 해당 변수가 가지고 있는 함수의 속성이 출력된다.
정수형(integer) | 소수점 없는 이하의 부분을 출력 int() 의 경우에는 항상 정수로 나온다. |
실수형(float) | 소수점 이하의 숫자를 포함하는 값을 출력 type() 을 통해서 값이 <class 'float'>등으로 쓰면 플롯 값이다. |
참/ 거짓 (Boolean) | 주어진 자료형이 참인지, 거짓인지 판별할 때 사용함 |
문자열 (str) | 값이 문자인 경우 |
기타 | 리스트(List) / 튜플(tuple) |
* 실수형을 정수형으로 출력하는 파이썬 구하기
num1 = -8.09
asb_result = abs(num1) #절대값 계산
round_result = round(num1) #반올림 계산
print("절대값", asb_result)
print("반올림", round_result)
----------------------------------------
절대값 8.09
반올림 -8
abs() 함수는 절대값으로 반환하고, round() 함수는 반 올림한 값을 반환한다.
* 함수의 참 거짓을 구별하는 값 구하기
#변수 설정
is_raining = True
is_sunny = False
print(is_raining)
print(is_sunny)
-----------------------------------------
True
False
# 비교 연산자로 참 거짓 값 비교하기
x = 100
y = 50
greater_than = x > y
print(greater_than)
------------------------------------------
True
* NAN
NAN 의 뜻 : 정의할 수 없는 수치 값
수학적 연산구조에서 연산이나 값이 유효하지 않을때, 데이터 프레임과 같은 데이터 구조에서 결측치를 표현할 때 사용되는 값. SQL의 NULL 과 비슷해보인다.
#0으로 나누는 연산
result = 1/0
print(result)
-------------------------------
!ERROR! NAN Infinity 는 값이 아니다.
result = 1/0.00000
print(result)
-------------------------------
0.000000000000000 => 무한과 가까운 숫자를 출력
# 유효하지 않은 수학적 연산
result = math.sqrt(-1)
print(result)
-------------------------------
!ERROR! NAN
import pandas as pd
data = {'A': [1,2,NONE],
'B': [3,NONE,5]}
df = pd.Dataframe(data)
print(df)
--------------------------------
!ERROR!
#출력 값 환산
A B
# 1 1.0 3.0
# 2 2.0 NAN
# 3 NAN 5.0
=> A와 B에 비어있는 값으로 인해서 해당 값은 공란 처리 'NAN' 표기
* input 함수
input() 함수는 사용자가 직접 키보드를 입력해서 칠 수 있게 하는 함수
name = input("이름을 입력하세요.")
print("안녕하세요," name, "님!")
-------------------------------------
이름에 A 값을 넣을 경우
안녕하세요, A 님! 이라고 출력됨
이를 보면 input() 함수는 사용자로부터 문자열의 값을 입력받아서 사용할 수 있는 함수
num1 = int(input("첫 번째 숫자"))
num2 = int(input("두 번쨰 숫자"))
sum = num1 + num2
print("두 숫자의 합은", sum , "입니다.")
-----------------------------------------
if num1 = 2 num2 = 5
두 숫자의 합은 7 입니다.
if num1 = a num2 = b
NAN !ERROR!
int() 함수로 감쌀 수는 있지만, 이 경우에는 해당 값은 정수의 숫자가 들어가야 하며, 문자열과 같은 다른 값이 들어가면 오류가 난다.
오늘 배우면서 SQLD가 너무 어려웠다. 안되면 다시 듣는 수 밖에...
늘 그렇듯 스스로 코드를 다시 짜면서 코드의 구조를 이해하려고 노력은 해보고 있다. 다만... 그게 잘 안되서 조금 힘들다.
어떻게 하면 프로그래머의 그 구조를 이해할 수 있을까?
그건 아직 천천히 해야될 일이긴 했다. 앞으로 얼마 시간이 안남았으니 조금만 더 힘내자! 아자아자!
'𝐓𝐈𝐋 (𝐅𝐨𝐫 𝐂𝐚𝐦𝐩) > 𝐂𝐎𝐃𝐈𝐍𝐆 (𝐒𝐐𝐋, 𝐏𝐘𝐓𝐇𝐎𝐍)' 카테고리의 다른 글
[𝟐𝟓.𝟎𝟑.𝟎𝟔] 𝐓𝐈𝐋 𝐍𝐎𝐓𝐄 𝟏𝟐 (0) | 2025.03.06 |
---|---|
[𝟐𝟓.𝟎𝟑.𝟎𝟓] 𝐓𝐈𝐋 𝐍𝐎𝐓𝐄 𝟏𝟏 (0) | 2025.03.05 |
[𝟐𝟓.𝟎𝟐.𝟐𝟖] 𝐓𝐈𝐋 𝐍𝐎𝐓𝐄 𝟗 (0) | 2025.02.28 |
[𝟐𝟓.𝟎𝟐.𝟐𝟒] 𝐓𝐈𝐋 𝐍𝐎𝐓𝐄 𝟔 (1) | 2025.02.24 |
[𝟐𝟓.𝟎𝟐.𝟐𝟎] 𝐓𝐈𝐋 𝐍𝐎𝐓𝐄 𝟓 (0) | 2025.02.20 |