Brüche werden ohnehin in etwa mit dem Bruchstrich zur Mitte der Zeile zentriert. Damit bekommt man ohne `m`-Spalten:
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage[libertine,liby,slantedGreek]{newtxmath}
\usepackage{tabularx}
\usepackage{siunitx}
\begin{document}
\begin{frame}[fragile]
\footnotesize
\renewcommand{\arraystretch}{2.8}
% \renewcommand{\tabularxcolumn}[1]{m{#1}}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{?}{!{\vrule width 1pt}}
\begin{tabularx}{11.5cm}{@{}|l?*{6}{>{$}C<{$}|}@{}}
\hline
Winkel (Grad) & \ang{0} & \ang{30} & \ang{45} & \ang{60} & \ang{90}\\
\hline
\raggedright Winkel (Bogenmaß) & 0 & \dfrac{\uppi}{6} & \dfrac{\uppi}{4} & \dfrac{\uppi}{3} & \dfrac{\uppi}{2}\\
\noalign{\hrule height 1pt}
$\sin$ & 0=\dfrac{\sqrt{0}}{2} & \dfrac{1}{2}=\dfrac{\sqrt{1}}{2} & \dfrac{\sqrt{2}}{2} & \dfrac{\sqrt{3}}{2} & 1=\dfrac{\sqrt{4}}{2}\\
\hline
$\cos$ & 1=\dfrac{\sqrt{4}}{2} & \dfrac{\sqrt{3}}{2} & \dfrac{\sqrt{2}}{2} & \dfrac{1}{2}=\dfrac{\sqrt{1}}{2} & 0=\dfrac{\sqrt{0}}{2}\\
\hline
$\tan$ & 0 & \dfrac{\sqrt{3}}{3} & 1 & \sqrt{3} & -\\
\hline
\end{tabularx}
\end{frame}
\end{document}
bereits zentrierte Zellen:
![alt text][1]
Vermutlich meinte @esdd das auch mit ihrem Kommentar. Der optische Eindruck ist dabei natürlich auch maßgeblich von den verwendeten Fonts bestimmt und davon, ob der Text in der ersten Spalte Großbuchstaben oder hauptsächlich Kleinbuchstaben ohne stark ausgeprägte Hälse enthält.
Die Alternative, alle Spalten als `m`-Spalten zu deklarieren, wie @esdd angeregt hat, ist natürlich ebenfalls möglich:
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage[libertine,liby,slantedGreek]{newtxmath}
\usepackage{tabularx}
\usepackage{siunitx}
\begin{document}
\begin{frame}[fragile]
\footnotesize
\renewcommand{\arraystretch}{2.8}
\renewcommand{\tabularxcolumn}[1]{m{#1}}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{?}{!{\vrule width 1pt}}
\begin{tabularx}{11.5cm}{@{}|m{8.5em}?*{6}{>{$}C<{$}|}@{}}
\hline
Winkel (Grad) & \ang{0} & \ang{30} & \ang{45} & \ang{60} & \ang{90}\\
\hline
\raggedright Winkel (Bogenmaß) & 0 & \dfrac{\uppi}{6} & \dfrac{\uppi}{4} & \dfrac{\uppi}{3} & \dfrac{\uppi}{2}\\
\noalign{\hrule height 1pt}
$\sin$ & 0=\dfrac{\sqrt{0}}{2} & \dfrac{1}{2}=\dfrac{\sqrt{1}}{2} & \dfrac{\sqrt{2}}{2} & \dfrac{\sqrt{3}}{2} & 1=\dfrac{\sqrt{4}}{2}\\
\hline
$\cos$ & 1=\dfrac{\sqrt{4}}{2} & \dfrac{\sqrt{3}}{2} & \dfrac{\sqrt{2}}{2} & \dfrac{1}{2}=\dfrac{\sqrt{1}}{2} & 0=\dfrac{\sqrt{0}}{2}\\
\hline
$\tan$ & 0 & \dfrac{\sqrt{3}}{3} & 1 & \sqrt{3} & -\\
\hline
\end{tabularx}
\end{frame}
\end{document}
Das Ergebnis finde ich aber im konkreten Fall eher schlechter als besser:
![alt text][2]
Etwas ausgewogener sieht es aus, wenn man bei `\arraystretch` weniger übertreibt:
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage[libertine,liby,slantedGreek]{newtxmath}
\usepackage{tabularx}
\usepackage{siunitx}
\begin{document}
\begin{frame}[fragile]
\footnotesize
\renewcommand{\arraystretch}{2.5}
% \renewcommand{\tabularxcolumn}[1]{m{#1}}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{?}{!{\vrule width 1pt}}
\begin{tabularx}{11.5cm}{@{}|l?*{6}{>{$}C<{$}|}@{}}
\hline
Winkel (Grad) & \ang{0} & \ang{30} & \ang{45} & \ang{60} & \ang{90}\\
\hline
\raggedright Winkel (Bogenmaß) & 0 & \dfrac{\uppi}{6} & \dfrac{\uppi}{4} & \dfrac{\uppi}{3} & \dfrac{\uppi}{2}\\
\noalign{\hrule height 1pt}
$\sin$ & 0=\dfrac{\sqrt{0}}{2} & \dfrac{1}{2}=\dfrac{\sqrt{1}}{2} & \dfrac{\sqrt{2}}{2} & \dfrac{\sqrt{3}}{2} & 1=\dfrac{\sqrt{4}}{2}\\
\hline
$\cos$ & 1=\dfrac{\sqrt{4}}{2} & \dfrac{\sqrt{3}}{2} & \dfrac{\sqrt{2}}{2} & \dfrac{1}{2}=\dfrac{\sqrt{1}}{2} & 0=\dfrac{\sqrt{0}}{2}\\
\hline
$\tan$ & 0 & \dfrac{\sqrt{3}}{3} & 1 & \sqrt{3} & -\\
\hline
\end{tabularx}
\end{frame}
\end{document}
![weniger `\arraystretch`][3]
Noch besser wird es, wenn man auf `\arraystretch` verzichtet und stattdessen mit einer unsichtbaren Stütze arbeitet:
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{libertine}
\usepackage[libertine,liby,slantedGreek]{newtxmath}
\usepackage{tabularx}
\usepackage{siunitx}
\begin{document}
\begin{frame}[fragile]
\footnotesize
% \renewcommand{\tabularxcolumn}[1]{m{#1}}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{?}{!{\vrule width 1pt}}
\begin{tabularx}{11.5cm}{@{}|l?*{6}{>{\rule[-1.5\baselineskip]{0pt}{4\baselineskip}$}C<{$}|}@{}}
\hline
Winkel (Grad) & \ang{0} & \ang{30} & \ang{45} & \ang{60} & \ang{90}\\
\hline
\raggedright Winkel (Bogenmaß) & 0 & \dfrac{\uppi}{6} & \dfrac{\uppi}{4} & \dfrac{\uppi}{3} & \dfrac{\uppi}{2}\\
\noalign{\hrule height 1pt}
$\sin$ & 0=\dfrac{\sqrt{0}}{2} & \dfrac{1}{2}=\dfrac{\sqrt{1}}{2} & \dfrac{\sqrt{2}}{2} & \dfrac{\sqrt{3}}{2} & 1=\dfrac{\sqrt{4}}{2}\\
\hline
$\cos$ & 1=\dfrac{\sqrt{4}}{2} & \dfrac{\sqrt{3}}{2} & \dfrac{\sqrt{2}}{2} & \dfrac{1}{2}=\dfrac{\sqrt{1}}{2} & 0=\dfrac{\sqrt{0}}{2}\\
\hline
$\tan$ & 0 & \dfrac{\sqrt{3}}{3} & 1 & \sqrt{3} & -\\
\hline
\end{tabularx}
\end{frame}
\end{document}
Dabei werden alle Zeilen insgesamt gleich hoch und tief:
![mit `\rule` statt `\arraystretch`][4]
Je nachdem, wie hoch und tief die Zeilen werden sollen, muss man ggf. das optionale erste und das obligatorische dritte Argument von `\rule` anpassen.
Die ebenfalls mögliche Alternative, den unteren Abstand jeder Zeile mit dem optionalen Argument von `\\` anzupassen, zeige ich jetzt aber nicht auch noch. Da soll bitte jeder selbst experimentieren.
[1]: http://texwelt.de/wissen/upfiles/test_12.png
[2]: http://texwelt.de/wissen/upfiles/test2_10.png
[3]: http://texwelt.de/wissen/upfiles/test3_9.png
[4]: http://texwelt.de/wissen/upfiles/test4_7.png